我的String

String
字符串不可变:创建好的字符串对象不可变,字符串的引用可以指向其他的字符串。
所以引用类型除String之外,都必须使用new创建对象。
由于String类型使用的频率高,所以java提供了使用字符串字面量创建对象的方式。

String str = “hello world”//创建一个字符串对象,用引用str指向这个对象的内存地址。

编译器相关内容:
编译的过程中,遇到一些使用纯字面量的表达式,会进行运算,将运算结果保存。这样做会节省运算开销。---- 提供运算效率

int a = 5+5;//编译后:int a = 10;
int b = 10;
int c = b+10;//编译后:int c = b+10;
String  str2 = "123java";
String str3 = "123"+"java";//编译后:str3 ="123java"
System.out.println(str2 == str3);// true对
String str4 = "12"+"3java";// str2 == str4 , true
String str5 = 1+2 +"3java"; // str5编译之后 str5 = "33java"
String str6 = '1'+2+"3java"; // str6编译之后str6=  "513java"
String str7 = "123";
String str8 = str7+"java";
System.out.println(str2 == str8); // false.

//只有使用字面量赋值才会使用到常量池中存在的对象,new表示创建新对象,那么不会使用常量池中的对象。

String s = “123”;
String s1 = s+“java”; // 不是字面量赋值,也不使用常量池中的对象。
String s2 = new String(“123java”);// – 新创建的对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值