作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Kotlin 的初学者,实际上我正在使用 Kotlin 开发 Android 应用程序。我必须初始化一些值未知的属性(它不是,但从现在开始很难定义)所以我想像在 TypeScript 中那样制作,例如:public startDate: any;
which意味着 startDate 的类型可以是任何类型(它不是安全的,但无论如何它有助于获取值,而不是考虑发生的事情)。
有没有办法在 Kotlin 中做到这一点?我试过'?或 List<*> 或参数中的 * 但它不能那样工作。
感谢阅读!
最佳答案
如果属性可以包含任何对象(但不是null
,这意味着它必须立即初始化),请使用类型Any
。
如果属性可以包含任何对象或null
,则使用类型Any?
。这相当于 Java 的 Object
类型。
从设计的角度来看,如果您知道实际类型并且可以利用 Kotlin 的强类型系统,那当然更好。如果您或您的团队正在定义类型,您可能会限制它们实现某个接口(interface),这样您就不会为其分配任意值。稍后,在重构应用程序时,您可以删除此接口(interface),并且将收到所有出现的编译错误,迫使您正确修复它。
关于android - 如何在 Kotlin 中初始化未知类型的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55690786/
我是一名优秀的程序员,十分优秀!