日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java基础:(五)Object通用方法

發布時間:2025/4/16 java 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java基础:(五)Object通用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Object對象的九個方法

getClass();hashCode();equals();clone();toString();notify();notifyAll();wait();finalize。

二、equals()

equals()與==的區別:

  • 對于基本類型,==判斷兩個值是否相等,基本類型沒有equals()方法(八個基本類型);
  • 對于引用類型,==判斷兩個實例是否引用同一個對象(地址是否相同),而equals()判斷引用的對象是否等價(值是否相等)。

對任何不是null的對象x調用x.equals(null)結果都為false;但是x如果為null,x.equals(null)在編譯時沒有錯誤,運行時報錯。

Integer x = 1; x.equals(null); //結果為false Integer x = null; x.equals(null); //運行報錯

三、hashCode()

hashCode()返回散列值,而equals()是用來判斷兩個實例是否等價。等價的兩個實例散列值一定要相同,但是散列值相同的兩個實例不一定等價;

在覆蓋equals()方法時應當總是覆蓋hashCode()方法,保證等價的兩個實例散列值也相等。

四、toString()

默認返回 ToStringExample@xxxxxx 這種形式,其中@后面的數值為散列碼的無符號十六進制表示。

五、clone()

淺拷貝:拷貝實例和原始實例的引用類型指向同一個對象(相當于同一個對象);

深拷貝:拷貝實例和原始實例的引用類型指向不同的對象(相當于復制了一個新對象)。

使用clone()方法來拷貝一個對象既復雜又有風險,它會拋出異常,并且還需要類型轉換;最好不要使用clone(),可以使用拷貝構造函數或者拷貝工廠來拷貝一個對象(相當于復制了一個新對象)。

public class CloneConstructorExample {private int[] arr;public CloneConstructorExample(){arr = new int[10];for(int i=0;i<arr.length;i++){arr[i] = i;}}//拷貝構造函數public CloneConstructorExample(CloneConstructorExample original){arr = new int[original.arr.length];for(int i=0;i<original.arr.length;i++){arr[i] = original.arr[i];}} }

?

轉載于:https://www.cnblogs.com/liumilk/p/10524185.html

總結

以上是生活随笔為你收集整理的Java基础:(五)Object通用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。