📄 stringtest.java
字号:
/**
*针对String类创建对象的比较
*/
/*
*常量类型对待:如果堆中有该值,则直接返回引用:
* String a = "abcd";String b = "abcd";则a==b的值为true,a.equals(b)的值为true;
*new对象对待:新建对象:
* String a = new String("abc");String b = new String("abc");则a==b的值为false,a.equals(b)的值为true;
*+连接符对待:
* 连接对象时候:
* String a = "abcd";String b = "abc";String c = "d";String d = b+c;
那么a==d的值为false,a.equals(d)的值true;
* 直接是常量连接时候:
* String a = "abcd";String b = "ab" + "cd";则a == b的值为true,a.equals(b)的值为true;
*/
public class StringTest
{
public static void main(String [] args)
{
String a = "abcd";
//String a = new String("abcd");
String b = "abc";
String c = "d";
/*
String temp = b + c;
String d = new String(temp);
*/
//String d = "ab"+"cd";
String d = b + c;
String e = new String(b + c);
//String f = "abcd";
String f = new String("abcd");
if(a == d)
{
System.out.println("a == d same");
}
else
{
System.out.println("a == d different");
}
if(a.equals(d))
{
System.out.println("a equals d");
}
else
{
System.out.println(" a don't equals d");
}
if(a == e)
{
System.out.println("a == e same");
}
else
{
System.out.println("a == e different");
}
if(a == f)
{
System.out.println("a == f is true");
}
else
{
System.out.println("a == f is false");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -