String比较.equals
Posted 香菇炖小鸡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String比较.equals相关的知识,希望对你有一定的参考价值。
首先定义四个变量str
public class SIzhui { public static void main(String[] args) { String str1="wang"; String str2="li"; String str3="wang"; String str4=new String("wang"); } }
然后进行比较
public class SIzhui { public static void main(String[] args) { String str1="wang"; String str2="li"; String str3="wang"; String str4=new String("wang"); System.out.println(str1==str2); System.out.println(str1==str3); System.out.println(str1==str4); } }
每定义一个String类型,就会在内存中开辟一块空间
此处比较的是4个变量的地址
所以输出
因为变量str1和变量str3赋给的值都为“wang”;
所以这两个的值被自动存入同一个常量池,
所以此时比较str1和str3,输出的是true;
str4赋给的值同样是“wang”,
但是str4=new string,也就是说,此处“wang”被放到一个新开辟的堆内存中,而不会存入常量池,所以此处输出false。
如果想比较两个String型变量的值,就用到一个String.equals。这个方法就是用来比较字符串。
public class SIzhui { public static void main(String[] args) { String str1="wang"; String str2="li"; String str3="wang"; String str4=new String("wang"); System.out.println(str1.equals(str4)); } }
运行结果:
以上是关于String比较.equals的主要内容,如果未能解决你的问题,请参考以下文章