OpenHarmony开发者论坛
标题:
ArrayList输出结果与预期不符,疑为编译器编译代码导致的问题
[打印本页]
作者:
songtime
时间:
2024-10-21 14:28
标题:
ArrayList输出结果与预期不符,疑为编译器编译代码导致的问题
[md]### 【问题描述】
```
求解释:一个简单的ArrayList赋值后取值,取值结果却不符合预期,严重怀疑是鸿蒙底层编译器的问题导致的,我在不同的OpenHarmony开发板都跑出来一样的问题,具体代码如下:
import ArrayList from '@ohos.util.ArrayList';
@Entry
@Component
struct Index2 {
@State message: string = 'Hello World'
textPropertyList: ArrayList<TextProperty> = new ArrayList();
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
}
.height('100%')
}
aboutToAppear(){
for (let i = 0; i < 30; i++) {
this.textPropertyList.add(new TextProperty(i));
}
for(let i = 0; i<5; i++){
for(let j = 0 ; j<6; j++){
let t = j*5+i
if(t===5){
console.log("textProperty: 这里期待v1==v2, 但实际运行结果却不是,我怀疑编译器有问题,路过的大佬解释一下")
console.log("textProperty: v1="+ this.textPropertyList[t].height)
console.log("textProperty: v2="+ this.textPropertyList[5].height)
}
}
}
}
}
class TextProperty {
constructor(h:number) {
this.height = h;
}
height: number = 1
}
运行结果如下:
10-21 14:10:31.857 16839-16839 A03d00/JSAPP I textProperty: 这里期待v1==v2, 但实际运行结果却不是
10-21 14:10:31.858 16839-16839 A03d00/JSAPP I textProperty: v1=0
10-21 14:10:31.858 16839-16839 A03d00/JSAPP I textProperty: v2=5
```
### 【运行环境】
硬件:
ROM版本:
DevEvoStudio版本:DevEco Studio 4.0 Release
SDK版本:10
[/md]
作者:
深开鸿_王石
时间:
2024-10-22 09:18
IDE:Build Version: 4.0.0.600, built on October 17, 2023
SDK:10
OpenHarmony 5.0.2.4
10-22 09:16:09.617 29378-29378 A03d00/JSAPP com.example.myapplication I textProperty: 这里期待v1==v2, 但实际运行结果却不是,我怀疑编译器有问题,路过的大佬解释一下
10-22 09:16:09.617 29378-29378 A03d00/JSAPP com.example.myapplication I textProperty[5]: v1=5
10-22 09:16:09.617 29378-29378 A03d00/JSAPP com.example.myapplication I textProperty[5]: v2=5
没看出啥问题
作者:
songtime
时间:
2024-10-24 18:09
我这边是在openharmon 4.0跑出不一致的结果。
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5