whats the difference between .equals and ==?
1593 ワード
Javaのデータ型:分類単純データ型 複合データ型 単純なデータ型:単純なデータ型はこれ以上簡略化できない、内蔵されたデータ型であり、プログラミング言語によって定義され、実際の数字、文字、整数を表す.
複合データ型:単純なデータ型の組合せによって形成されるより大きく、より複雑なデータ型.クラス、インタフェース、数値などです.
==2つの変数の値が等しいかどうか、参照変数に対して2つの変数がスタックに格納されているアドレスが同じかどうか、すなわちスタックの内容が同じかどうかを比較します.equals操作は、2つの変数が同じオブジェクトの参照であるかどうか、すなわちスタック内の内容が同じかどうかです.
1、
output
2、JavaにおけるLong型
==を使用して簡単な比較はできません.
eg.
output:
参考資料:
http://blog.csdn.net/snowqoo/article/details/2455605
http://www.cnblogs.com/zhxhdean/archive/2011/03/25/1995431.html
複合データ型:単純なデータ型の組合せによって形成されるより大きく、より複雑なデータ型.クラス、インタフェース、数値などです.
==2つの変数の値が等しいかどうか、参照変数に対して2つの変数がスタックに格納されているアドレスが同じかどうか、すなわちスタックの内容が同じかどうかを比較します.equals操作は、2つの変数が同じオブジェクトの参照であるかどうか、すなわちスタック内の内容が同じかどうかです.
1、
/**
* Created with IntelliJ IDEA.
* User: seaeast
* Date: 25/09/2013
* Time: 14:53
*/
public class demo {
public static void main(String [] args){
String a = "1.0";
String b = "1.0";
String c = new String("1.0");
System.out.println(a.equals(b));
System.out.println(a==b);
System.out.println(a.equals(c));
System.out.println(a==c);
}
}
output
true
true
true
false
2、JavaにおけるLong型
==を使用して簡単な比較はできません.
eg.
public class demo {
public static void main(String[] args){
Long userId = 12222222222l;
Long commentId = 12222222222l;
System.out.println(userId==commentId);
System.out.println(userId.equals(commentId));
}
}
output:
false
true
参考資料:
http://blog.csdn.net/snowqoo/article/details/2455605
http://www.cnblogs.com/zhxhdean/archive/2011/03/25/1995431.html