String的扩展
- String直接赋值跟new的区别
String aa=new String("哈哈");
String bb=new String("哈哈");
System.out.println(aa==bb);
String cc="哈哈";
String dd="哈哈";
System.out.println(cc==dd);
false //两个不同的对象,是不一样的
true //值相同,在常量池中直接引用同一个对象,是一样的
- ==跟equal的区别
==:比较两个对象在内存中的地址,即是否是同一个对象
equal:同一个对象,或者不同对象但值相等的 - 空字符串与其他类型数据相加
int a=1;
int b=2;
System.out.println(""+a+b); //12
System.out.println(a+""+b); //12
System.out.println(a+b+""); //3
如果空字符串是在最后的话会认为是1,2的和,其他会认为是字符串拼接。