2015-11-21 3 views
0

рассмотрит следующую object:Получить имена переменных в объекте

class sampleClass { 
    val firstname = "hassan" 
    val lastname = "kachal" 
} 

def anotherFunction() { 
    val sampleObj = new sampleClass() 
    // here print the list of variables in "sampleObj" 
    // I expect to see "firstName" and "lastName" in the output 
} 

Как я могу напечатать имя переменных в объекте? (скажем, в объекте sampleObj, мне нужно напечатать firstName и lastName на выходе).

ответ

2
scala> sampleObj.getClass.getDeclaredFields.map(f => f.getName) 
res3: Array[String] = Array(firstname, lastname) 

мы можем использовать JavagetDeclaredFields, чтобы получить все поля в sampleClass, вы знаете scala базы на Java.

+0

Любая идея как получить параметры типа также? Скажем, если в примере у меня есть '' 'val firstname = Option (" hassan ") val lastname = Option (1)' '' one имеет тип 'String', а другой имеет тип' Int'. Как я могу получить информацию о типе для каждого поля? – Daniel

Смежные вопросы