java推断字符串是不是相称的要领【JAVA教程】,java,字符串
java推断字符串是不是相称的要领:
1、java中字符串的比较:==
我们常常习惯性的写上if(str1==str2),这类写法在java中可能会带来问题
example1:
String a="abc"; String b="abc"
那末a==b将返回true。由于在java中字符串的值是不可转变的,雷同的字符串在内存中只会存
一份,所以a和b指向的是同一个对象;
example2:
String a=new String("abc"); String b=new String("abc");
那末a==b将返回false,此时a和b指向差别的对象。
2、用equals要领比较的是字符串的内容是不是雷同
example:
String a=new String("abc"); String b=new String("abc"); a.equals(b);
(1)关于==,假如作用于基础数据范例的变量(byte,short,char,int,long,float,double,boolean ),则直接比较其存储的"值"是不是相称;假如作用于援用范例的变量(String),则比较的是所指向的对象的地点(即是不是指向同一个对象)。
(2)equals要领是基类Object中的要领,因而关于一切的继续于Object的类都邑有该要领。在Object类中,equals要领是用来比较两个对象的援用是不是相称,即是不是指向同一个对象。
(3)关于equals要领注重:equals要领不能作用于基础数据范例的变量。假如没有对equals要领举行重写,则比较的是援用范例的变量所指向的对象的地点;而String类对equals要领举行了重写,用来比较指向的字符串对象所存储的字符串是不是相称。其他的一些类诸如Double,Date,Integer等,都对equals要领举行了重写用来比较指向的对象所存储的内容是不是相称。
更多java学问请关注java基础教程栏目。
以上就是java推断字符串是不是相称的要领的细致内容,更多请关注ki4网别的相干文章!