【问题标题】:Is there a builtin method in Java to turn string into an array of integers?Java中是否有将字符串转换为整数数组的内置方法?
【发布时间】:2012-12-30 09:51:32
【问题描述】:

我需要将字符串转换为整数数组。每个数组槽将包含一个整数值字母。例如,字符串 omg 会以类似

的形式返回
array[0] = 13; array[1] = 44; array[3] = 26; 

EDIT 这些字母的值是经过考虑的。我只想知道有没有办法把字母转成整数。

有没有内置的方法呢?

【问题讨论】:

  • String.getBytes()
  • o-->13, m-->44 和g-->26 怎么样?

标签: java arrays integer transform


【解决方案1】:

如果要将其转换为数组,请尝试char[] chars = str.toCharArray();,如果要将其转换为整数,请使用 for 循环,然后调用 varible.getNumericValue();。所以一个例子是:

String omg = "OMG";
char[] chars = omg.toCharArray();
int[] result;
for(char currentChar : chars){
    result[result.length] = currentChar.getNumericValue();//result.length starts at 1 more than the final index
}

编辑:或者只使用上面提到的 String.getBytes。

编辑2:实际上,这是完全错误的。

【讨论】:

  • 我认为您在将值写入数组索引时不想使用 foreach 循环。即使你是,你也不想使用 result.length 作为索引值。并且字符串变量被称为 omg,而不是 str...
  • 我知道,我意识到它有很多问题,并且完全放弃了。
【解决方案2】:

有多种方法可以做到这一点,具体取决于您所说的“将字母转换为整数”的确切含义。

  • 您可以使用String.getBytes() 将字符串编码为系统的默认编码,并将其作为byte[] 提供给您。 byte 类型是整数类型。

  • 您可以使用String.toCharArray() 为您提供字符串的字符。 char 类型是整数类型。

  • 您可以对字符串进行各种其他“神秘”转换;例如将 Caeser 的密码应用于每个字符串字符,给你一个字母,然后你把它变成一个数字。

然后您可以编写一个循环将char[]byte[] 转换为int[],但是没有内置方法可以执行此转换步骤...如果您需要的话。

请注意,前两种方法可能会为您提供不同的整数,具体取决于字符串值和系统的默认字符编码。重要的是你要了解你想用这个转换做什么......


(我假设问题中的示例转换不应按字面意思理解......)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-13
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多