一.String类
1)字符串的获取功能
public int length() :
返回此字符串的长度;
public char charAt (int index) :
返回指定索引处的字符值;
public int indexOf (String str) :
返回指定子字符串第一次出现在该字符串内的索引;
public int indexOf (int ch) :
返回指定字符第一次出现在该字符串内的索引;
public static String valueOf(基本数据类型int 变量名a):
将一个int类型转换成字符串;
valueOf(Object obj):
可以将任意的java数据类型转换字符串内容;
public String substring (int beginIndex) :
返回一个子字符串,从指定索引开始默认截取字符串末尾;
public String substring (int beginIndex, int endIndex) :
返回一个子字符串,从指定位置开始截取到,指定位置结束。含beginIndex,不含endIndex;
public String concat (String str) :
拼接功能;
2)字符串的转换功能 :toCharArray() ;---->将字符串转换成字符数组
public byte[] getBytes():
将字符串转换成字节数组;
public char[] toCharArray():
将字符串转换成字符数组 (当前转换功能开发中使用居多);
valueOf(Obejct obj):
将其他数据转成字符串;
public String toUpperCase():
将指定的字符串转换成大写;
public String toLowerCase():
将指定的字符串转换成小写;
String类的其他功能:
public String replace(char oldChar,char newChar):
将字符串中的指定的字符替换成新的字符
public String replace(String oldStr,String newStr):
替换指定字符串
public String trim():
去除字符串的两端空格;
public int compareTo(String anotherString):
按字典顺序比较两个字符串;
二.StringBuffer类
StringBuffer:字符串缓冲区(在内存中足够大)
可变的字符序列
字符串缓冲区中存储的内容都是字符串内容
追加功能
删除功能
转换功能: StringBuffer<—>String
反转功能: reverse():字符串反转
String和StringBuffer作为方法的形式参数的区别?
String的形式参数的改变不会影响实参的改变;
StringBuffer的形式参数的改变会影响实参的改变
StringBuffer和数组的区别?
StringBuffer是字符串缓冲区,里面储存的都是字符串内容,可变的字符串序列,长度是可变的;
数组内储存的元素都是同一类型的,并且数组的长度是固定的,不可变的
StringBuffer和StringBuilder的区别?
共同点:都是可变的字符串序列;
不同点:StringBuffer是线程安全的,同步的,但执行效率低
StringBuilder是线程安全的,不同步的,但执行效率高
String和int类型相互转换有哪些方式?
String类型→int类型
方式一:利用Integer的有参构造函数
Integer i=new Integer(String s);
int x=i.intValue();
方式二:利用Integer下的静态方法parse方法(开发使用多)----parse方法在Double,Float,Character…其他类型也能使用
int i=Integer.parseInt(String s);
int类型→String类型
方式一:利用空字符串;
int i=55;
String s="";
s+=i;
方式二:利用String的静态valueOf方法:
String s=String.valueOf(int i);
方式三:利用Integer的静态toString方法:
String s=Integer.toString(int i);
三.基本类型的包装类类型 Integer/Character
e.g.
Integer i = new Integer(100) ;
i+= 100 ;
这个动作做了哪些事情?
首先,利用Integer的构造函数给i赋值100,然后i+=100;的过程中,内存自动拆箱调用intValue()将i转为int类型
后进行计算,计算完成后,内存将 结果自动装箱,调用静态方法valueOf()将其再次转为Integer类型