登录
原创

java字符串使用

发布于 2020-10-25 阅读 293
  • 后端
  • Java
原创

JVM内存区域里面有一块常量池,关于常量池的分配:
JDK6的版本,常量池在持久代PermGen中分配
JDK7的版本,常量池在堆Heap中分配

在编译期间可以确定的字符串,直接加入字符串常量池,通过new或者在运行时确定的首先会在堆内创建一个字符串对象,然后会把他放在常量池内.

常量池中的String数据有一个特点:每次取数据的时候,如果常量池中有,直接拿常量池中的数据;如果常量池中没有,将数据写入常量池中并返回常量池中的数据。
String str1 = new String(“ABC”);
String str2 = new String(“ABC”);
str1==str2 结果为false

String str3 = “ABC”;
String str4 = “ABC”;
String str5 = “AB” + “C”;
str3 == str4 //true
str3 == str5 // true

String a = “ABC”;
String b = “AB”;
String c = b + “C”;
System.out.println( a == c );//false

注:等于==比较的是内存地址 equal()比较的是值

评论区

梦飞
0粉丝

励志做一条安静的咸鱼,从此走上人生巅峰。

0

0

0

举报