อินพุตของการดำเนินการ

public final class ExecuteInput
extends Object implements Parcelable

java.lang.Object
android.adservices.ondevicepersonalization.ExecuteInput


ข้อมูลอินพุตสำหรับ IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer)

สรุป

ค่าคงที่ที่รับช่วงมา

ช่อง

public static final Creator<ExecuteInput> CREATOR

วิธีการสาธารณะ

int describeContents()

อธิบายชนิดของวัตถุพิเศษที่มีอยู่ในพาร์เซลนี้ ของตัวอย่าง

boolean equals(Object o)

ระบุว่าออบเจ็กต์อื่นบางรายการเป็น "เท่ากับ" หรือไม่ อันนี้

String getAppPackageName()

ชื่อแพ็กเกจของแอปการโทร

PersistableBundle getAppParams()

พารามิเตอร์ที่ระบุโดยแอปไปยัง IsolatedService

int hashCode()

แสดงผลค่ารหัสแฮชสำหรับออบเจ็กต์

void writeToParcel(Parcel dest, int flags)

แยกวัตถุนี้ลงในแปลงที่ดิน

วิธีการที่รับมา

ช่อง

ครีเอเตอร์

public static final Creator<ExecuteInput> CREATOR

วิธีการสาธารณะ

อธิบายเนื้อหา

public int describeContents ()

อธิบายชนิดของวัตถุพิเศษที่มีอยู่ในพาร์เซลนี้ ของตัวอย่าง ตัวอย่างเช่น หากออบเจ็กต์จะ รวมข้อบ่งชี้ไฟล์ในเอาต์พุตของ writeToParcel(android.os.Parcel, int) ค่าที่แสดงผลของเมธอดนี้ต้องมีฟังก์ชัน CONTENTS_FILE_DESCRIPTOR บิต

คิกรีเทิร์น
int บิตมาสก์ที่ระบุชุดของประเภทออบเจ็กต์พิเศษ Marshaled โดยอินสแตนซ์ออบเจ็กต์ที่แบ่งได้นี้ ค่าเป็น 0 หรือ CONTENTS_FILE_DESCRIPTOR

เท่ากับ

public boolean equals (Object o)

ระบุว่าออบเจ็กต์อื่นบางรายการเป็น "เท่ากับ" หรือไม่ อันนี้

เมธอด 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 ซึ่งระบุว่า ออบเจ็กต์ที่เท่ากันต้องมีรหัสแฮชเท่ากัน

พารามิเตอร์
o Object: ค่านี้อาจเป็น null

คิกรีเทิร์น
boolean true หากวัตถุนี้เหมือนกับ obj ข้อโต้แย้ง; false หรือไม่เช่นนั้น

getAppPackageName

public String getAppPackageName ()

ชื่อแพ็กเกจของแอปการโทร

คิกรีเทิร์น
String ค่านี้ต้องไม่เป็น null

getAppParams

public PersistableBundle getAppParams ()

พารามิเตอร์ที่ระบุโดยแอปไปยัง IsolatedService บริการ กำหนดคีย์ที่ต้องการใน PersistableBundle นี้

คิกรีเทิร์น
PersistableBundle ค่านี้ต้องไม่เป็น null

แฮชโค้ด

public int hashCode ()

แสดงผลค่ารหัสแฮชสำหรับออบเจ็กต์ วิธีนี้เป็น สนับสนุนเพื่อประโยชน์ของตารางแฮช เช่น ตารางแฮช HashMap

สัญญาทั่วไปของ hashCode คือ

  • เมื่อใดก็ตามที่มีการเรียกบนออบเจ็กต์เดียวกันมากกว่า 1 ครั้งระหว่าง การเรียกใช้แอปพลิเคชัน Java วิธี hashCode จะต้องแสดงผลจำนวนเต็มเดียวกันอย่างสม่ำเสมอ หากไม่มีข้อมูล ที่ใช้ในการเปรียบเทียบ equals ในออบเจ็กต์ได้รับการแก้ไข จำนวนเต็มนี้ไม่จำเป็นต้องสอดคล้องกันจากการดำเนินการ ไปยังการดำเนินการอื่นของแอปพลิเคชันเดียวกัน
  • หากวัตถุ 2 รายการเท่ากันตาม equals(Object) จากนั้นเรียกเมธอด hashCode ในแต่ละเมธอด ออบเจ็กต์ทั้ง 2 รายการต้องให้ผลลัพธ์จำนวนเต็มเหมือนกัน
  • คุณไม่จำเป็นต้องระบุหากออบเจ็กต์ 2 รายการไม่เท่ากัน ตามequals(java.lang.Object) จากนั้นเรียกใช้เมธอด hashCode ในแต่ละเมธอด สองอ็อบเจกต์จะต้องให้ผลจำนวนเต็มที่แตกต่างกัน อย่างไรก็ตาม โปรแกรมเมอร์ควรทราบว่าการสร้างผลลัพธ์ที่เป็นจำนวนเต็มที่แตกต่างกัน สำหรับออบเจ็กต์ที่ไม่เท่ากันอาจช่วยปรับปรุงประสิทธิภาพของตารางแฮช

หากนำไปใช้ในทางปฏิบัติได้จริง วิธีการของแฮชCode ตามคลาส Object จะแสดงผลจำนวนเต็มที่ไม่ซ้ำกันสำหรับ เป็นวัตถุที่ต่างกัน (แฮชโค้ดอาจติดตั้งหรือไม่ก็ได้ เป็นฟังก์ชันบางอย่างของที่อยู่หน่วยความจำของออบเจ็กต์ ณ จุดใดจุดหนึ่ง ให้ทันเวลา)

คิกรีเทิร์น
int ค่าแฮชโค้ดสำหรับออบเจ็กต์นี้

เขียนถึงพาร์เซล

public void writeToParcel (Parcel dest, 
                int flags)

แยกวัตถุนี้ลงในแปลงที่ดิน

พารามิเตอร์
dest Parcel: ค่านี้ต้องไม่เป็น null

flags int: แฟล็กเพิ่มเติมเกี่ยวกับวิธีเขียนออบเจ็กต์ อาจเป็น 0 หรือ Parcelable.PARCELABLE_WRITE_RETURN_VALUE ค่าเป็น 0 หรือชุดค่าผสมของ Parcelable.PARCELABLE_WRITE_RETURN_VALUE และ android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES