2018/1/30
java
1.关于字符串(string)的一些认识
1*字符串具有不可重复性,一旦确定就不能改变。如要操作只能再定义一个具有相同内容的字符串(地址不同);
2*字符串就是char型数组的封装(final char[]);
3*string name="total content";/*就是把堆内存中的地址给了对象*/
4*在jvm中,为了节省资源,相同的字符串一般是放在同一的实例 "字符串池中"(string pool) ;
2.关于字符串的一些操作
public class text1 {
public static void main(String[] args) {
String str1="我嫉妒你的爱气势如虹";
String str2="我嫉妒你的爱气势如虹";
System.out.println(str1==str2);/*由于放在同一个字符串池中,所以相同*/
String str3="我嫉妒你的爱气势如虹";
String str4="我嫉妒你的爱";
str4+="气势如虹";
System.out.println(str4);
System.out.println(str3==str4);/*这里的+=采用了connect方法,,所以虽然两者看上去相同,其实并不一样*/
String str5=new String ("像个人气高居不下的天后");
String str6=new String ("像个人气高居不下的天后");
System.out.println(str5);
System.out.println(str5==str6);/*由于new是动态分配内存的意思,所以两句话虽然意思一样,但是处于不同的地址,自然false*/
System.out.println(str5.equals(str6));/*比较值的方法*/
String 我最喜欢的歌="愿你";/*"我最喜欢的歌中"存放的是地址*/
/*"愿你",在字符串池中*/
我最喜欢的歌="可乐";
/*"可乐"也在字符串池中,把它的地址给了“我最喜欢的歌”,所以"愿你"被覆盖了*/
我最喜欢的歌="可乐".concat("恋歌");/*由于字符串是具有不可改变性的*/
System.out.println(我最喜欢的歌);
3.关于字符串和字符数组和字节数组之间的转换
1.和字符数组之间的转换:
string str=new string (charray)
charray =str.toCharArray();
/*字符数组和字符串之间的转换*/
char[] charray= {'a','b','c'};
String str7=new String(charray);
charray=str7.toCharArray();
2.和字节数组的转换
String str=new String (bytearray);
/*字节数组和字符串之间的转换*/
byte[] bytearray= {101,102,100,100,111};
String str8=new String (bytearray);