gpt4 book ai didi

java - 如何将对象转换为长数据类型java

转载 作者:行者123 更新时间:2023-12-03 08:29:20 25 4
gpt4 key购买 nike

我有这段代码会出错?

public int part(Object key) {   
long clientId = (long) key;
...
}

错误如下:

java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long

不确定为什么会抛出异常。

最佳答案

正如评论中所解释的那样,Java 不允许将一种原始包装器类型转换为另一种类型的原始类型,即使原始类型本身允许这种类型转换也是如此。

您的异常堆栈跟踪显示关键参数是一个 Integer 对象。如果是这样,那么只需使用专门为此类转换创建的 Integer 方法:

long clientId = ((Number) key).longValue();

您最好确保 key 始终 是一个 Number 对象并且不为 null 才能正常工作。您可能需要在调用此方法之前测试 null。

关于java - 如何将对象转换为长数据类型java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40366858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com