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