標籤:pre money 通過 返回 ble int 應用 編程 區別
1.“==” 和 “equeal” 的區別
hashcode方法返回該對象的雜湊碼值。支援該方法是為雜湊表提供一些優點,例如,java.util.Hashtable 提供的雜湊表。 hashCode 的常規協定是: 在 Java 應用程式執行期間,在同一對象上多次調用 hashCode 方法時,必須一致地返回相同的整數,前提是對象上 equals 比較中所用的資訊沒有被修改。從某一應用程式的一次執行到同一應用程式的另一次執行,該整數無需保持一致。 如果根據 equals(Object) 方法,兩個對象是相等的,那麼在兩個對象中的每個對象上調用 hashCode 方法都必鬚生成相同的整數結果。 以下情況不 是必需的:如果根據 equals(java.lang.Object) 方法,兩個對象不相等,那麼在兩個對象中的任一對象上調用 hashCode 方法必定會產生不同的整數結果。但是,程式員應該知道,為不相等的對象產生不同整數結果可以提高雜湊表的效能。 實際上,由 Object 類定義的 hashCode 方法確實會針對不同的對象返回不同的整數。(這一般是通過將該對象的內部地址轉換成一個整數來實現的,但是 JavaTM 程式設計語言不需要這種實現技巧。) 當equals方法被重寫時,通常有必要重寫 hashCode 方法,以維護 hashCode 方法的常規協定,該協定聲明相等對象必須具有相等的雜湊碼。
1 public static void main(String[] args) { 2 int i=0; 3 int m=i; 4 m=m+1; 5 System.out.println(i); 6 System.out.println(m); 7 8 String a="0"; 9 String b=a;10 b="1";11 System.out.println(a);12 System.out.println(b);13 14 MoneyChangeRequest moneyChangeRequest1 = new MoneyChangeRequest();15 moneyChangeRequest1.setCardNo("1");16 MoneyChangeRequest moneyChangeRequest2 =new MoneyChangeRequest();17 moneyChangeRequest2.setCardNo("1");18 19 System.out.println(moneyChangeRequest1.getCardNo().hashCode()==moneyChangeRequest2.getCardNo().hashCode());20 }
java 基礎篇