Scala เทียบเท่ากับ ClassName.class ของ Java คืออะไร


84

ฉันจะรับอินสแตนซ์Classใน Scala ได้อย่างไร ใน Java ฉันสามารถทำได้:

Class<String> stringClass = String.class;

อะไรจะเทียบเท่าใน Scala?

คำตอบ:


106

มีวิธีการที่เป็นclassOfในscala.Predefดึงข้อมูลที่เป็นตัวแทนรันไทม์ประเภทชั้นเรียน

val stringClass = classOf[String]

คุณสามารถใช้getClassเมธอดเพื่อรับคลาสอ็อบเจ็กต์ของอินสแตนซ์ที่รันไทม์ในลักษณะเดียวกับ Java

scala> val s = "hello world"
s: String = hello world

scala> s.getClass
res0: Class[_ <: String] = class java.lang.String
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.