这种语法在Kotlin中是什么意思?

时间:2019-02-16 02:47:15

标签: java android kotlin

我不了解此代码的语法。是数组还是函数调用?

val editText = findViewById<EditText>(R.id.editText)

与Java相同:

EditText editText = (EditText) findViewById(R.id.editText);

2 个答案:

答案 0 :(得分:4)

它似乎是通用类型。它不返回父类,而是尝试首先将其强制转换为要获取的类。例如:

public static <T> T getById() { 
    return (T) this.userService.getById(1);
}

答案 1 :(得分:0)

val editText = findViewById<EditText>(R.id.editText)                           

val editText: EditText = findViewById(R.id.editText)

含义相同

在上面的kotlin代码中:

edittext-您的变量
findViewById(R.id.editText)-只是找到edittext的ID

<EditText>

or或:EditText-是一个类型转换,仅告诉变量返回类型为ediText

调用findViewById()可能会很慢,特别是在巨大的视图层次结构中,因此Android扩展程序试图通过在容器中缓存视图来最小化findViewById()调用。现在在kotlin中,您可以不再使用findviewbyid,而您只需编写即可上面的为:

val editText=editText

在哪里,
val editText-变量
= editText(在右侧)-您要查找的ID

希望这能回答您的问题。