关于java的学习记录:
Day13
1.StringBuffer同步,安全 StringBuilder不同步
StringBuffer的构造方法:
public String Buffer() 初始容量为16个字符
public String Buffer(int capacity)指定容量的字符串缓冲区对象
StringBuffer的方法:
public int capacity()返回当前容量 理论值
public int length()返回长度(字符数) 实际值
2.StringBuffer的添加功能:
public StringBuffer append(String str)可以把任意类型的数据添加到字符串缓冲区里面,并返回字符串缓冲区本身
public StringBuffer insert(int offset,String str)在指定位置把任意类型的数据添加到字符串缓冲区里面,并返回字符串缓冲区本身
StringBuffer是字符缓冲区,当new的时候是在堆内存创建了一个对象,底层是一个长度为16的字符数组,档条用添加的方法时,不会再冲新创建对象,在不断向原缓冲区添加字符
3.StringBuffer的删除功能:
public StringBuffer deleteCharAt(int index)删除指定位置的字符并返回本身
public StringBuffer delete(int start,int end)删除从指定位置开始到指定位置结束的内容并返回本身
4.StringBuffer的替换功能:
public StringBuffer replace(int start,int end,String str)从start开始到end结束用str替换
5.StringBuffer的反转功能:
public StringBuffer reverse()字符串反转
6.StringBuffer的截取功能:
public String substring(int start)从指定位置截取到末尾
public String substring(int start,int end)截取从指定位置到结束位置,包括开始不包含结束位置
7.String和StringBuffer之间的转换:
String转换为StringBuffer:
a.通过构造方法
b.通过append()方法
StringBuffer转换为String
a.通过toString()方法
b.通过构造方法
c.通过substring(0,length)方法
8.形式参数问题:
String作为参数传递
StringBuffer作为参数传递
基本数据类型的值传递,不改变其值
引用数据类型的值传递,改变其值
String类型虽然是引用数据类型,但是它当做参数传递时和基本数据类型一样
9.数组排序与查找
public static String toString(int[] a)
public static void sort(int[] a)
public static int binarySearch(int[] a,int key)
10.基本数据类型包装:
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据
常用的操作之一:用于基本数据类型与字符串之间的转换
基本数据类型和包装类的对应:
byte---Byte short---Short int---Integer long---Long float---Float double---Double char---Character boolean---Boolean
11.Integer类概述:
通过JDK提供的API,查看Integer类的说明,Integer类在对象中包装了一个基本类型int的值,该类提供了多个方法,能在int类型和String类型之间互相转换,还提供了处理int类型时非常有用的其他一些常量和方法
构造方法:
public Integer(int value)
public Integer(String s)
12.int---String转换:
a.和””进行拼接
b.public static String valueOf(int i)
c.int—Integer—String(Integer类的toString()方法)
d.public static String toString(int i)
Integer类的静态方法
String---int
a.String--Integer—int
b.public static int parseInt(String s)
接本数据类型包装类有八种,其中七种都有parseXxx()方法,可以将这七种的字符串形式表现形式转换成基本数据类型,只有char的包装类中没有这个方法
13.JDK5的新特性:
自动装箱:把基本数据类型转换为包装类类型
自动拆箱:把包装类型转换为基本数据类型
注意事项:在使用时,Integer x=null,会报错NullPointException,建议先判断是否为null,然后再使用
训练1:
程序: