ฉันจะได้รับชื่อของชั้นเรียนได้อย่างไร
String.class.getName() returns java.lang.String
ฉันสนใจที่จะรับส่วนสุดท้ายเท่านั้นเช่น String
Any Api เท่านั้นที่สามารถทำได้?
ฉันจะได้รับชื่อของชั้นเรียนได้อย่างไร
String.class.getName() returns java.lang.String
ฉันสนใจที่จะรับส่วนสุดท้ายเท่านั้นเช่น String
Any Api เท่านั้นที่สามารถทำได้?
คำตอบ:
getSimpleName()
เข้าถึงชื่อคลาสได้ง่ายกว่าลบชื่อแพ็กเกจ ไวยากรณ์: object.getClass().getSimpleName()
โค้ดตัวอย่าง
ทั้งสองวิธีด้านล่างใช้งานได้ดี
System.out.println("The Class Name is: " + this.getClass().getName());
System.out.println("The simple Class Name is: " + this.getClass().getSimpleName());
ผลลัพธ์ดังต่อไปนี้:
ชื่อคลาสคือ: package.Student
ชื่อชั้นเรียนง่ายๆคือ: นักเรียน
หรือโปรแกรม
String s = String.class.getName();
s = s.substring(s.lastIndexOf('.') + 1);
.
พบ
int[]
ผลลัพธ์คือ"[I"
)
คุณสามารถใช้เทคนิคง่ายๆต่อไปนี้เพื่อพิมพ์บันทึกพร้อมชื่อคลาส
private String TAG = MainActivity.class.getSimpleName();
สมมติว่าเราต้องตรวจสอบค่าตัวแปรที่กำลังจะมาในวิธีการจากนั้นเราสามารถใช้ log เช่น bellow:
private void printVariable(){
Log.e(TAG, "printVariable: ");
}
ความสำคัญของบรรทัดนี้คือเราสามารถตรวจสอบชื่อเมธอดพร้อมกับชื่อคลาสได้ ในการเขียนบันทึกประเภทนี้
เขียน: - logeและ Enter
จะพิมพ์บนคอนโซล
E/MainActivity: printVariable:
Social.class.getSimpleName ()
getSimpleName (): ส่งคืนชื่อธรรมดาของคลาสที่อยู่ภายใต้ตามที่ระบุในซอร์สโค้ด ส่งคืนสตริงว่างถ้าคลาสพื้นฐานไม่ระบุชื่อ ชื่ออย่างง่ายของอาร์เรย์คือชื่อธรรมดาของประเภทส่วนประกอบที่มี "[]" ต่อท้าย โดยเฉพาะอย่างยิ่งชื่อธรรมดาของอาร์เรย์ที่มีประเภทคอมโพเนนต์ไม่ระบุชื่อคือ "[]"
นี่คือวิธี Groovy ในการเข้าถึงคุณสมบัติของวัตถุ:
this.class.simpleName # returns the simple name of the current class