java中Long变量的十六进制字符串值



我正在尝试将字符串格式的十六进制值存储到Long变量中。但是没有一个Long类方法能够像下面的代码模板中所示的那样工作。

有人能帮我写十六进制值从字符串到长吗?

class Converter {
public static void main(String[] args) {

long l1Address = 0x2158F379L;
long l2Address = 0x1137B372L;
long l3Address = 0x7198F371L;

String hexAddress = "0x333FF639L";
// Expectation is long l4Address = 0x333FF639L;
long l4Address = Long.parseLong(hexAddress,16);
System.out.println(l4Address);
/* Gives Exception in thread "main" java.lang.NumberFormatException: 
For input string: "0x333FF639" */
hexAddress = "333FF639L";
// Expectation is long l4Address = 0x333FF639L;
long l4Address = Long.decode(hexAddress,16);
System.out.println(l4Address);
/* Gives 859829817 instead of 333FF639L */


}
}

我想存储为long l4Address=0x333FF639L,它来自String;有什么办法做到这一点吗?

的几件事

  1. 删除";公开决赛;在变量前面
  2. 使用Long.decode(str(
  3. 从十六进制地址中删除尾部的"L">

最新更新