Java 数字字符数组转整数

标签 java arrays casting integer

我需要使用 BufferedReader 读取文件,在第二行我知道总会有 2 个整数:例如 456 666;但我不知道它们将有多少位数字,因此在使用 BufferedReader 提取行(字符串类型)后,我逐个读取该字符串的字符以获取数字并将它们添加到字符数组中。当我拥有所有数字时,我用 '\0' 填充数组 示例:

array[0] = '4'
array[1] = '5'
array[2] = '6'
array[3] = '\0'
array[4] = '\0'
and so on

现在我想把这个数组变成一个整数。 我尝试首先将此数组转换为字符串,然后应用 Integer.parseInt 但我不起作用。我不知道如何解决这个问题。有什么帮助吗?

最佳答案

你不能将数组转换为字符串...但是如果你使用空格而不是\0作为填充符,那么你可以这样做:

int i = Integer.parseInt(String.valueOf(array).trim());

关于注释 - 很酷,trim() 也消除了尾随 0x0:

public static void main(final String[] args) {
    char[] chars = new char[5];
    chars[2] = '9';
    System.out.printf("Original length: %d%n",String.valueOf(chars).length());
    System.out.printf("Trimmed length:  %d%n",String.valueOf(chars).trim().length());
    System.out.printf("Parsed:          %d%n",Integer.parseInt(String.valueOf(chars).trim()));
}

关于Java 数字字符数组转整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12962557/

相关文章:

c - 在结构中的数组末尾填充

javascript - 是否可以在 TypeScript 中组合用户定义的类型保护?

java - 如何从另一个类更新一个类中的变量

arrays - 如何将 UUID 字符串转换为 UUID 类型

c++ - 如何使用正则表达式 C++ 将文本文件解析为变量?

Java 转换对象

c++ - 什么时候使用 reinterpret_cast 而不违反严格的别名规则?

java - WebLogic 的默认调试端口是什么?

java - 生成看起来像 HTML 页面的 PDF?

java - 二维不同口味类型数组之间的区别?这两种类型的优点