您的位置:首页 > 编程语言 > Java开发

Java中String字符串类的解析

2016-11-08 19:21 99 查看
Java中的类型分为基本类型和普通类型。基本类型就8个

byte、 short、 int、 lang 

float、 double

boolean

char

而,String 是一个字符串类,是普通类型。

类的定义方法:String str = new String ("hello");

但是它也可以: String str = "hello";

两种定义类的方法有一定的区别:
String str = new String ("hello");

 // 是new了一个对象 在堆空间分配了一块内存,把对象放在里面,str 指向 这个对象

String str = "hello";

 // 没有创建对象,直接是str 指向了 data segment中的字符串“hello”,而且你再定义一个str2 = “hello”,那么这个时候,系统会先检测data segment里是否已经有了“hello”,如果有了那么str2直接指向这个“hello”,这是系统的优化。

最常见的区别:

String s1 = "hello";

String s2 = "hello";

那么s1 == s2得到的是true

String s3 = new String ("hello");

String s4 = new String ("hello");

而s3 == s4得到的是false

因为“==”比较的是地址,s3,s4指向了两个不同的对象,地址不一样

而s1,s2都是指向的“hello”,地址一样

用equals比较就没问题了

s1.equals(s2)  // true

s3.equals(s4)  //true
这才是对字符串进行比较

参考资料:
https://zhidao.baidu.com/question/469293388.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java string