Kotlin类变量返回默认值而非修改后的值求助
问题分析与修复方案
核心问题根源:你在Java类
WeatherData的getTemp()方法里,错误创建了新的WeatherData实例来设置WeatherDescription,而非给当前对象的属性赋值。这导致你操作的是临时对象,当前实例的WeatherDescription始终保持默认空字符串;调试时看到的正确值属于临时对象,方法执行完后临时对象被回收,值自然消失。修复步骤:
- 修改
getTemp()方法,直接操作当前对象的属性:public void getTemp() { // 移除这行无效代码:WeatherData weatherData = new WeatherData(); // 直接给当前对象赋值 this.setWeatherDescription("温度逻辑对应的描述文本"); // 若属性可直接访问,也可写:this.weatherDescription = "..."; } - 检查Kotlin代码对
WeatherData的使用:确保全程操作同一个实例,不要在调用getTemp()前后重复创建新的WeatherData对象,避免新实例的默认值覆盖已赋值的内容。 - 排查所有修改
weatherDescription的代码:确认没有其他方法或逻辑在后续将该属性重置为空字符串。
- 修改
内容的提问来源于stack exchange,提问作者Kürşat Saim TUNA
相关产品推荐
相关产品推荐

