字符串相关题目

来源:互联网 发布:qq魅力值软件 编辑:程序博客网 时间:2024/06/05 18:26

1比较字符串是否相等

一般是比较引用或者比较值,==是比较引用,equals()比较值

1、用“==”运算符,该运算符表示指向字符串的引用是否相同,比如: String a="abc";String b="abc",

那么a==b将返回true。JAVA里面有一个字符串池
如果你用双引号""来创建String对象,那么他会先去这个池里面查找是否已经存在这个字符串,如果已经存在,把这个对象的引用返回,如果不存在,创建一个String对象返回,同时把这个对象放进池里面。
这里2次都用双引号创建,他会从池里面返回同一个对象,所以是同一个地址,2个对象完全相等。 
相同的字符串在内存中只会存
一份,所以a和b指向的是同一个对象;再比如:String a=new String("abc"); String b=new String("abc");

那么a==b将返回false,因为a和b指向不同的对象。

2、用equals方法,该方法比较的是字符串的内容是否相同(区分大小),比如:String a=new String("abc"); 

String b=new String("abc"); a.equals(b);将返回true。所以通常情况下,为了避免出现上述问题,判断

字符串是否相等使用equals方法。


0 0
原创粉丝点击