gpt4 book ai didi

java - 无法通过按位运算获得长整型值

转载 作者:行者123 更新时间:2023-12-01 19:44:01 25 4
gpt4 key购买 nike

我需要获取以下按位运算的输出以进行进一步处理。不幸的是,每当我尝试将输出转换为 int 或 long 类型时,我都会收到数字格式异常。如何确保输出是我可以处理的类型?

String TYPE = "type";
long TOTAL_MASK = 0xFFFFFFFF;
long BASE_INBOX_TYPE = 20;
long BASE_TYPE_MASK = 0x1F

long type = Integer.valueOf("" + TYPE + " & " + (TOTAL_MASK - BASE_TYPE_MASK) + " | " + BASE_OUTBOX_TYPE + "");

最佳答案

Integer.valueOf(String)用于从文本中解析数字文字,而不是计算任意表达式。根据 javadoc 方法:

The argument is interpreted as representing a signed decimal integer, exactly as if the argument were given to the parseInt(java.lang.String) method.

您需要将表达式编写为代码,例如:

long type = (TOTAL_MASK - BASE_TYPE_MASK) | BASE_OUTBOX_TYPE;

关于java - 无法通过按位运算获得长整型值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54235298/

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