字符串

一、字符串定义方法
1.直接赋值给字符串:String s = "string";
2.使用new关键字创建字符串对象,字符串的数值为一个空串:String s = new String();
3.使用new关键字创建的字符串先去堆中创建一个对象,然后去常量池中对比一下,如果常量池中没有,就放一份在常量池,如果有,就不会再往常量池中放了:String s =new String(“string”);
4.用字符数组创建字符串:
char [] ch={'s','t','r','i','n','g'}; String s =new String(ch);
5.也可以使用字符数组一部分创建字符串,这里参数1和2的涵义代表1表示从数组元素第几位开始,2表示一共有几个元素。
char [] ch={'s','t','r','i','n','g'}; String s =new String(ch,1,2);
6.可以利用字节数组生成字符串,与字符数组都在输入输出流部分应用较多,用于存储传输的二进制数据。
byte[] b={54,69,70,71,72}; String s=new String(b); String s1 =new String(b,1,2); System.out.println("s="+s); System.out.println("s1="+s1);
 s=6EFGH
 s1=EF
二、equals与==、compareT()的区别
方法equels()比较两个字符串内容是否相等,返回值是boolean类型的值;方法compareTo()比较两个字符串大小,返回值是int的值。==比较的是两个左右两个对象的地址是否相等,返回的是布尔类型的值。


三、String 与 StringBuilder的区别
String是具有不可变性,即创建时是在常量池中创建一个字符串,例如String s =" i love java"; 即在常量池中存在一个字符串,当对s进行更改时,s = ”dhfadfk“;这时只是将s的指向改为新的字符串,实际的字符串并未删除。
                    
                
                
            
        
浙公网安备 33010602011771号