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
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对象的数据类型
- Java中String类型的参数传递问题的解析
- Java.lang包——字符串类(String, StringBuffer)
- 全面解析Java中的String数据类型
- (转)全面解析Java中的String数据类型
- 解析Java中的String对象的数据类型
- Java后台解析String形式的Xml
- Java 中的字符串类String、StringBuffer、StringBuilder的区别
- 全面解析java中的String对象
- java反射学习笔记一(解析java.lang.String)
- Java中String类型的参数传递问题的解析
- Java中String类型的参数传递问题的解析收藏--转载
- java 日期的格式化、解析、数据库相关操作、获取系统时间、String与Date的转换
- 全面解析Java中的String数据类型
- 全面解析java中的String
- 解析Java中的String对象的数据类型
- 解析Java中创建String对象过程中的内存分配
- java String对象解析(很经典)
- Java 中的字符串类String、StringBuffer、StringBuilder的区别
- 全面解析Java中的String数据类型