• Lv0
    粉丝0

积分0 / 贡献0

提问2答案被采纳0文章0

ArrayList输出结果与预期不符,疑为编译器编译代码导致的问题

songtime 显示全部楼层 发表于 2024-10-21 14:28:05

【问题描述】

求解释:一个简单的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

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论2

深开鸿_王石

沙发 发表于 2024-10-22 09:18:39
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:19
我这边是在openharmon 4.0跑出不一致的结果。

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部