Skip to content

[BUG] (Android4)ZoneId.SHANGHAI_ZONE_ID空指针异常 #1633

@muedsa

Description

@muedsa

问题描述

ZoneId.SHANGHAI_ZONE_ID 空指针异常

环境信息

  • OS信息: Android API 34
  • JDK信息: jdk 17
  • 版本信息:2.0.35.android4

重现步骤

在 ZoneId类中如果系统默认时区不是Asia/Shanghai,会导致SHANGHAI_ZONE_ID = ZoneId.of("Asia/Shanghai")
但是在of()方法中

 if (tzid.equals("Asia/Shanghai")) {
            return SHANGHAI_ZONE_ID;
 }

ZoneId中的部分代码
https://github.com/alibaba/fastjson2/blob/c262c7889c8030f9f5a521adeed5c378755a0bc3/core/src/main/java/com/alibaba/fastjson2/time/ZoneId.java#L15C1-L19C48

https://github.com/alibaba/fastjson2/blob/c262c7889c8030f9f5a521adeed5c378755a0bc3/core/src/main/java/com/alibaba/fastjson2/time/ZoneId.java#L60C1-L74C6

期待的正确结果

对您期望发生的结果进行清晰简洁的描述。

相关日志输出

Caused by: java.lang.NullPointerException: Cannot read field "id" because "com.alibaba.fastjson2.time.ZoneId.SHANGHAI_ZONE_ID" is null
	at com.alibaba.fastjson2.time.ZoneId.getOffsetTotalSeconds(ZoneId.java:31)
	at com.alibaba.fastjson2.util.DateUtils.<clinit>(DateUtils.java:41)

附加信息

Github Action Failure

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfixed

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions