我也是小白,只是见过类似的问题,说是名也就是地址的比较,如果要比较值的话,需要加一个,eqlore忘了是不是这么写,反正仅供参考
解决方案 »
- Java使用PV操作实现男女共浴问题
- java 求佘计算
- 一个很基本的问题,下载了plugin如何安装呢?在那里安装呢
- 请问JAVA如何操纵其他的WEB或FORM程序,给个大概思路,谢谢!
- jTable 数据重些...........
- ObjectInputStream传输对象的问题
- 系统能不能同时执行多个不同的代理?
- 【】帮我看个程序,最后那个输出怎么解决???
- 大家用JAVA做B/S结构应用系统,怎么实现打印功能?
- java中的clipboard是不是只能操作文本数据呀,其他数据格式如何操作?
- 变量退出作用域是会自动析构吗?
- 今天看了线程同步synchronized应用于方法,果断不懂了,有感兴趣的朋友希望能解答一下
String str2="hello"+str1;//在堆中创建一个String对象存放 "hello" + str1;
String str3="hello"+str1;//同上
System.out.println((str2==str3));//两个引用指向堆中不同的对象,值为false
String str1="abc";
String str2="hello"+"abc";//因为是两个常量相加,在常量池中创建一个新的常量 "hello" + "abc"
String str3="hello"+"abc";//同上
System.out.println((str2==str3));//两个引用指向常量池中同一个对象,值为true
public class Stringequals {
public static void main(final String[] args) {
System.out.println(test01());
System.out.println(test02());
System.out.println(test03()); System.out.println(test10());
System.out.println(test20());
System.out.println(test30());
} private static boolean test01() {
String str1 = "abc";
String str2 = "hello" + str1;
String str3 = "hello" + str1;
return str2 == str3;
} private static boolean test02() {
String str2 = "hello" + "abc";
String str3 = "hello" + "abc";
return str2 == str3;
} private static boolean test03() {
String str2 = new String("hello"+"abc");
String str3 = "hello" + "abc";
return str2 == str3;
} private static boolean test10() {
String str1 = "abc";
String str2 = "hello" + str1;
String str3 = "hello" + str1;
return str2.equals(str3);
} private static boolean test20() {
String str2 = "hello" + "abc";
String str3 = "hello" + "abc";
return str2.equals(str3);
} private static boolean test30() {
String str2 = new String("hello"+"abc");
String str3 = "hello" + "abc";
return str2.equals(str3);
}
}输出:
false
true
false
true
true
true说明:
test01、02、03都是在比较两个对象的引用是否相等,
test02里面都是完全的字面常量,Java为了节约内存空间,会把它们保存在完全相同的地址上这里的目的应该是比较各个对象的字面量是否相同,应该使用String类的equals()方法test10、20、30是修改后的正确的书写方法
其中test03和test30是追加的示例
《JAVA 2核心技术 卷I:基础知识》和《JAVA.2核心技术.卷II:高级特性》
以及《Thinking In Java》2)用eclipse的Checkstyle功能,尽量去除掉所有警告