java - 为什么当我从 kotlin 项目程序中调用 java 类时总是停止工作
问题描述
这是我的主要活动
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
lateinit var maT : mat
var num : Int = maT.two()
}
}
这是我的java类
public class mat {
public int two(){
return 2;
}
}
它们在同一个包中
解决方案
出现问题是因为调用时未初始化maT属性
maT.two()
lateinit的文档指出:
在初始化之前访问 lateinit 属性会引发一个特殊异常,该异常清楚地标识正在访问的属性以及它尚未初始化的事实。
为了解决问题,请尝试:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var maT = mat()
var num : Int = maT.two()
}
}
所做的更改是删除lateinit并实例化mat类型的对象:
var maT = mat()
仅供参考:您应该考虑在课程开始时使用大写字母,例如Mat
推荐阅读
- azure - 失败时的 Azure 数据工厂复制活动 | 未评估表达式
- javascript - javascript中的回调(参数传递)
- python - 使用 Python 进行声学信号处理
- machine-learning - 当数据不是分类的并且确定它们不切实际时,我应该如何处理 NaN 值?
- spring-boot - spring boot 1.3.0发布版中使用Spring重试和熔断器
- javascript - 画出画布 JavaScript
- spring - Kafka Connect 如何使命名空间与数据库名称无关
- c - 为什么使用指针访问的结构成员没有得到更新?
- java - 更改 JList 模型(Java swing)时,JscrollPane 不更新
- javascript - Javascript serviceworker:处理和重新发送请求正文