durum sınıfından alan isimleri listesi al Yalnızca vaka sınıfının alan adlarını almam gerekiyor, değerleriyle ilgilenmiyorum. Sorun olmadığını düşündüm ve getClass.getDeclaredFields.map (_. GetName) bana alan adlarının bir listesini döndürürdü. Ve benzer bir soru bulamıyorum.Scala.
scala> case class User(id: Int, name: String)
defined class User
scala> User.getClass.getDeclaredFields
res14: Array[java.lang.reflect.Field] = Array(public static final User$ User$.MODULE$)
scala> User.getClass.getDeclaredFields.toList
res15: List[java.lang.reflect.Field] = List(public static final User$ User$.MODULE$)
scala> val user = User(1, "dude")
user: User = User(1,dude)
scala> user.getClass.getDeclaredFields.toList
res16: List[java.lang.reflect.Field] = List(private final int User.id, private final java.lang.String User.name)
Bu kullanıcı $ .MODULE $ nedir? Bu da ne? Eğer durum sınıfının örneğini aldığımda
Yöntem getDeclaredFields çalışıyor, ama sadece alanları
bu doğru değildir Nedenalmak için bir örneğini oluşturmak istemiyoruz? User.getClass.getDeclaredFields (_. GetName) == listesi ("id", "ad")
Gelip görünen
Alternatif olarak, size çok daha fazla bilgi verir bir vaka sınıfının meta almak için Scala'nın yansıma API kullanabilirsiniz lexo düzeninde geri. Kodda bildirildikleri sırada geri gelmelerini sağlamak için herhangi bir yolu var mı? – samthebest
Bu yanıtın, siparişi nasıl alacağınızı açıklayan bir iş parçacığı vardır: http://stackoverflow.com/a/16079804/1586965 – samthebest