例如,我知道我可以在类似的类字符串中添加扩展名:
val String.isValidEmail : Boolean
get() {
val expression = "^[\w\.-]+@([\w\-]+\.)+[A-Z]{2,4}$"
val pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
val matcher = pattern.matcher(this)
return matcher.matches()
}
现在,我想在另一个类中添加一个类作为扩展名,我认为实现将是这样的:
class Networking {
....
}
class Networking.Email {
....
}
// MainActivity.kt
val email = Networking.Email()
但这给了我" networking.email"的错误。对于"网络"部分:重新支列:网络。对于"电子邮件"部分:期望最高声明。这实际上在Kotlin中可以吗?
no,Kotlin中没有扩展类。请参阅此处:
kotlin,类似于c#和gosu,提供了扩展类的能力 具有新功能,而无需从类中继承或使用 任何类型的设计模式,例如装饰器。这是通过特惠来完成的 声明称为扩展。Kotlin支持扩展功能 和扩展属性。