从charAt保存为int

问题描述 投票:0回答:2

E.g:

public static void test() {
    int x = 0 ;
    String line = "A24 ASD 46" ;
    for ( int i = 0 ; i < line.length() ; i++) {
        if (Character.isDigit(line.charAt(i))) {
            int number = line.charAt(i) ;
            System.out.println(number);
        }
    }
}

“x”表示打印char的ASCII值,而不是索引“i”的String元素!如何在String的索引中打印元素?

java
2个回答
2
投票

如果你真的需要int值,这个案例有getNumericValue()

int number = Character.getNumericValue(line.charAt(i))

但是,如果您只想打印源字符串中的所有数字,则不必将char转换为int,如@Deadpool所述。只是做System.out.println(line.charAt(i));


0
投票

如果要使用流查找数字:

String line = "A24 ASD 46";
line.chars()
    .filter(Character::isDigit)
    .mapToObj(Character::toString)
    .forEach(System.out::print);

将打印2446。

© www.soinside.com 2019 - 2024. All rights reserved.