หัวข้อ
public
final
class
Topic
extends Object
java.lang.Object | |
↳ | android.adservices.topics.หัวข้อ |
แสดงผลลัพธ์หัวข้อจาก getTopics API
สรุป
ช่างก่อสร้างสาธารณะ | |
---|---|
Topic(long mTaxonomyVersion, long mModelVersion, int mTopicId)
สร้างออบเจ็กต์ที่แสดงผลลัพธ์จาก getTopics API |
วิธีการสาธารณะ | |
---|---|
boolean
|
equals(Object object)
ระบุว่าออบเจ็กต์อื่นบางรายการเป็น "เท่ากับ" หรือไม่ อันนี้ |
long
|
getModelVersion()
รับ ModelVersion |
long
|
getTaxonomyVersion()
รับเวอร์ชันการจัดหมวดหมู่ |
int
|
getTopicId()
รับรหัสหัวข้อ |
int
|
hashCode()
แสดงผลค่ารหัสแฮชสำหรับออบเจ็กต์ |
String
|
toString()
แสดงผลตัวแทนสตริงของออบเจ็กต์ |
วิธีการที่รับมา | |
---|---|
ช่างก่อสร้างสาธารณะ
หัวข้อ
public Topic (long mTaxonomyVersion, long mModelVersion, int mTopicId)
สร้างออบเจ็กต์ที่แสดงผลลัพธ์จาก getTopics API
พารามิเตอร์ | |
---|---|
mTaxonomyVersion |
long : คำยาวที่แสดงถึงเวอร์ชันของการจัดหมวดหมู่ |
mModelVersion |
long : ความยาวที่แสดงถึงเวอร์ชันของโมเดล |
mTopicId |
int : จำนวนเต็มที่แทนรหัสที่ไม่ซ้ำกันของหัวข้อ |
วิธีการสาธารณะ
เท่ากับ
public boolean equals (Object object)
ระบุว่าออบเจ็กต์อื่นบางรายการเป็น "เท่ากับ" หรือไม่ อันนี้
เมธอด equals
ใช้ความสัมพันธ์สมมูล
ในการอ้างอิงออบเจ็กต์ที่ไม่ใช่ค่าว่าง:
- ค่านี้เป็น reflexive: สำหรับค่าอ้างอิงที่ไม่เป็นค่าว่าง
x
,x.equals(x)
ควรกลับมาtrue
- ค่านี้เป็นแบบสมมาตร กล่าวคือ สำหรับค่าอ้างอิงที่ไม่เป็นค่าว่าง
x
และy
x.equals(y)
ควรส่งคืนtrue
เฉพาะในกรณีต่อไปนี้y.equals(x)
ส่งคืนtrue
- เป็นสกรรมกริยา: สำหรับค่าอ้างอิงที่ไม่เป็นค่าว่าง
x
,y
และz
หากx.equals(y)
ส่งคืนtrue
และy.equals(z)
แสดงผลtrue
จากนั้นx.equals(z)
ควรส่งคืนtrue
- มีความสอดคล้องกัน: สําหรับค่าอ้างอิงที่ไม่เป็นค่าว่าง
x
และy
มีการเรียกใช้หลายครั้งx.equals(y)
แสดงผลtrue
อย่างสม่ำเสมอ หรือส่งคืนfalse
อย่างต่อเนื่อง หากไม่ได้ ที่ใช้ในการเปรียบเทียบequals
ใน มีการแก้ไขออบเจ็กต์ - สำหรับค่าอ้างอิง
x
ที่ไม่ใช่ค่าว่างx.equals(null)
ควรแสดงผลเป็นfalse
เมธอด equals
สำหรับการติดตั้งใช้งานคลาส Object
ความสัมพันธ์เท่ากับวัตถุซึ่งแบ่งแยกได้ง่ายที่สุด
นั่นคือ สำหรับค่าอ้างอิงที่ไม่ใช่ค่าว่าง x
และ
y
เมธอดนี้จะแสดงผล true
หากและ
หาก x
และ y
อ้างอิงถึงวัตถุเดียวกัน
(x == y
มีค่า true
)
โปรดทราบว่าโดยทั่วไปจำเป็นต้องลบล้าง hashCode
เมื่อใดก็ตามที่วิธีการนี้ถูกลบล้าง
สัญญาทั่วไปสำหรับเมธอด hashCode
ซึ่งระบุว่า
ออบเจ็กต์ที่เท่ากันต้องมีรหัสแฮชเท่ากัน
พารามิเตอร์ | |
---|---|
object |
Object : ออบเจ็กต์อ้างอิงที่จะใช้เปรียบเทียบ |
คิกรีเทิร์น | |
---|---|
boolean |
true หากวัตถุนี้เหมือนกับ obj
ข้อโต้แย้ง; false หรือไม่เช่นนั้น |
รับเวอร์ชันโมเดล
public long getModelVersion ()
รับ ModelVersion
คิกรีเทิร์น | |
---|---|
long |
รับเวอร์ชันการจัดหมวดหมู่
public long getTaxonomyVersion ()
รับเวอร์ชันการจัดหมวดหมู่
คิกรีเทิร์น | |
---|---|
long |
getTopicId
public int getTopicId ()
รับรหัสหัวข้อ
คิกรีเทิร์น | |
---|---|
int |
แฮชโค้ด
public int hashCode ()
แสดงผลค่ารหัสแฮชสำหรับออบเจ็กต์ วิธีนี้เป็น
สนับสนุนเพื่อประโยชน์ของตารางแฮช เช่น ตารางแฮช
HashMap
สัญญาทั่วไปของ hashCode
คือ
- เมื่อใดก็ตามที่มีการเรียกบนออบเจ็กต์เดียวกันมากกว่า 1 ครั้งระหว่าง
การเรียกใช้แอปพลิเคชัน Java วิธี
hashCode
จะต้องแสดงผลจำนวนเต็มเดียวกันอย่างสม่ำเสมอ หากไม่มีข้อมูล ที่ใช้ในการเปรียบเทียบequals
ในออบเจ็กต์ได้รับการแก้ไข จำนวนเต็มนี้ไม่จำเป็นต้องสอดคล้องกันจากการดำเนินการ ไปยังการดำเนินการอื่นของแอปพลิเคชันเดียวกัน - หากวัตถุ 2 รายการเท่ากันตาม
equals(Object)
จากนั้นเรียกเมธอดhashCode
ในแต่ละเมธอด ออบเจ็กต์ทั้ง 2 รายการต้องให้ผลลัพธ์จำนวนเต็มเหมือนกัน - คุณไม่จำเป็นต้องระบุหากออบเจ็กต์ 2 รายการไม่เท่ากัน
ตาม
equals(java.lang.Object)
จากนั้นเรียกใช้เมธอดhashCode
ในแต่ละเมธอด สองอ็อบเจกต์จะต้องให้ผลจำนวนเต็มที่แตกต่างกัน อย่างไรก็ตาม โปรแกรมเมอร์ควรทราบว่าการสร้างผลลัพธ์ที่เป็นจำนวนเต็มที่แตกต่างกัน สำหรับออบเจ็กต์ที่ไม่เท่ากันอาจช่วยปรับปรุงประสิทธิภาพของตารางแฮช
หากในทางปฏิบัติ วิธีการของแฮชCode สามารถนำไปใช้ได้จริง
ตามคลาส Object
จะแสดงผลจำนวนเต็มที่ไม่ซ้ำกันสำหรับ
เป็นวัตถุที่ต่างกัน (แฮชโค้ดอาจติดตั้งหรือไม่ก็ได้
เป็นฟังก์ชันบางอย่างของที่อยู่หน่วยความจำของออบเจ็กต์ ณ จุดใดจุดหนึ่ง
ให้ทันเวลา)
คิกรีเทิร์น | |
---|---|
int |
ค่าแฮชโค้ดสำหรับออบเจ็กต์นี้ |
toString
public String toString ()
แสดงผลตัวแทนสตริงของออบเจ็กต์ โดยทั่วไปแล้ว
เมธอด toString
แสดงผลสตริงที่
"แสดงข้อความแทน" เป็นออบเจ็กต์นี้ ผลลัพธ์ที่ได้ควร
เป็นการนำเสนอที่กระชับแต่ให้ข้อมูล ซึ่งง่ายสำหรับ
ให้อ่าน
ขอแนะนำให้คลาสย่อยทั้งหมดลบล้างเมธอดนี้
เมธอด toString
สำหรับชั้นเรียน Object
จะแสดงผลสตริงที่ประกอบด้วยชื่อของคลาสที่มีฟังก์ชัน
เป็นอินสแตนซ์ อักขระเครื่องหมาย `@
' และ
เลขฐานสิบหกที่ไม่มีเครื่องหมายของแฮชโค้ด
ออบเจ็กต์ กล่าวอีกนัยหนึ่งคือ เมธอดนี้จะแสดงสตริงที่มีค่าเท่ากับ
ค่าของ:
getClass().getName() + '@' + Integer.toHexString(hashCode())
คิกรีเทิร์น | |
---|---|
String |
ตัวแทนสตริงของออบเจ็กต์ |