【java源码阅读系列】String类型

https://blog.csdn.net/sugar_rainbow/article/details/68150249
https://www.cnblogs.com/NiceCui/p/8046564.html
参考以上文章
java native关键字
一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。
“A native method is a Java method whose implementation is provided by non-java code.”

类型比较必须得用equals,原因:== 比较的不只是值相同,而且比较的是物理地址相同,String a =”aaa”; 这种会去找String常量池里面有没有,如果没有,会将这个字符串常量放到常量池里面。
String a = new String(“a”);这个得分两步 new String()、”a”,首先新建对象,然后再去常量池里面找有没有”a”,如果没有,则讲字符串”a”放到常量池里面。
字符串拼接的话,虚拟机编译的时候会进行优化,比如 String a = “a”+”b”;
编译器会将这个段代码优化成 String a =”ab”;

测试代码:
public class ReadString {
public static void main(String[] args) {
String a = “a,a,a,”;
String cc = “a,a,”+“a,”;
System.out.println(acc);
Test4();
String bcv = new String(“b”);
a.getBytes();
String[] b = a.split(",");
a = a.substring(0,3);
}
public static void Test4(){
String str = “laji”;
String str2 = new String(“laji”);
String str3 = null;
System.out.println(str
str2);
str3 = str2.intern();
System.out.println(str==str3);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值