String比较涉及知识点 实例

Posted yxj808

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String比较涉及知识点 实例相关的知识,希望对你有一定的参考价值。

public class Test1{
public static void main(String[] args) throws Exception {
 String str="abcd";
 String str2="abcd";
 System.out.println(str==str2);//true
 String str3=new String("abcd");
 System.out.println(str3==str);//false
 String str4="ab"+"cd";
 System.out.println(str4==str);//true
 String str5="ab";
 String str6="cd";
 System.out.println((str5+str6)==str);//false

String str7=str;
 System.out.println("-----------------");
 System.out.println(str3.equals(str));//true
 System.out.println(str4.equals(str));//true
 System.out.println((str5+str6).equals(str));//true

System.out.println("-------------------");
 String str7=str;
 str7="ab";
 System.out.println(str7==str);//false
 System.out.println(str2==str);//true
}

}

==比较的地址,equals比较的内容。String两种构造方式,直接赋值用的是原来的地址,返回true;new String(),开辟了新的内存空间为false;

"ab"+"cd"是静态常量池,为true;str5+str6为动态常量池,运行时str5str6是变量,为false;string类型的值无法改变 ,str7为false;

以上是关于String比较涉及知识点 实例的主要内容,如果未能解决你的问题,请参考以下文章

Java 基础知识点 笔记总结

实例的对比StringStringBuilder字符串的连接效率及StringBuilder和StringBuffer线程安全的比较

Java题目集1~3的总结

JSP第一个实例之用户管理系统

Java内存分配和String类型的深度解析

Redis相关知识