java equals方法使用
java equals方法使用
Java 技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和安全性。下面是學(xué)習(xí)啦小編為您帶來(lái)的java equals方法使用,希望對(duì)大家有所幫助。
java equals方法使用:
1)顯示參數(shù)命名為otherObject,稍后需要將它轉(zhuǎn)換成另一個(gè)叫做other的變量。
2)檢測(cè)this與otherObject是否引用同一個(gè)對(duì)象:
if(this == otherObject) return true;
這條語(yǔ)句只是一個(gè)優(yōu)化。實(shí)際上這是一種經(jīng)常使用的形式。
3)檢測(cè)otherObject是否為null,如果為null,返回false。這項(xiàng)檢測(cè)很必要。
if(otherObejct == null) return false;
比較this與otherObject是否為屬于同一個(gè)類(lèi)。如果equals的語(yǔ)義在每個(gè)子類(lèi)中有所改變,就使用getClass檢測(cè):
if(getClass() != otherObject.getClass()) return false;
如果所有的子類(lèi)都擁有統(tǒng)一的語(yǔ)義,就使用instanceof檢測(cè):
if(!(otherObejct instanceof ClassName)) return false;
4)將otherObject轉(zhuǎn)換為相應(yīng)的類(lèi)類(lèi)型變量:
ClassName other = (ClassName)otherObject;
5)現(xiàn)在開(kāi)始對(duì)所有需要比較的域進(jìn)行比較了。使用==比較基本類(lèi)型域,使用equals比較對(duì)象域。如果所有的域都匹配,就返回true,否則返回false。
return field == other.field&&field.equals(other.field)&&...;
如果在子類(lèi)中重新定義equals,就要在其中包含調(diào)用super.equals(other)。
java的優(yōu)勢(shì):
與傳統(tǒng)程序不同,Sun 公司在推出 Java 之際就將其作為一種開(kāi)放的技術(shù)。全球數(shù)以萬(wàn)計(jì)的 Java 開(kāi)發(fā)公司被要求所設(shè)計(jì)的 Java軟件必須相互兼容。“Java 語(yǔ)言靠群體的力量而非公司的力量”是Sun公司的口號(hào)之一,并獲得了廣大軟件開(kāi)發(fā)商的認(rèn)同。這與微軟公司所倡導(dǎo)的注重精英和封閉式的模式完全不同。
Sun 公司對(duì) Java 編程語(yǔ)言的解釋是:Java 編程語(yǔ)言是個(gè)簡(jiǎn)單、面向?qū)ο?、分布式、解釋性、健壯、安全與系統(tǒng)無(wú)關(guān)、可移植、高性能、多線(xiàn)程和靜態(tài)的語(yǔ)言。
Java 平臺(tái)是基于 Java 語(yǔ)言的平臺(tái)。這樣的平臺(tái)非常流行。因此微軟公司推出了與之競(jìng)爭(zhēng)的.NET平臺(tái)以及模仿Java的C#語(yǔ)言。
Java是功能完善的通用程序設(shè)計(jì)語(yǔ)言,可以用來(lái)開(kāi)發(fā)可靠的、要求嚴(yán)格的應(yīng)用程序。