Java中char 轉化為int 的兩種方法
阿新 • • 發佈:2019-01-01
今天機試過程中遇到一個問題: 如何把 char ‘9’ 轉為 int 9, 大家應該知道,不能直接轉化,那樣得到是‘9’的Ascii. 如下面:
public class IntAndCharConvertor {
public static void main(String[] args) {
char numChar = '9';
int intNum = (int)numChar;
System.out.println(numChar + ": " + intNum);
}
}
執行結果:
9: 57
那麼怎麼把char'9' 轉為 int 9 呢?
方法一: 先把char轉為char[1]的陣列,然後轉為string,最後利用Integer中parserInt方法,此方法要建立多個物件,要消耗許多記憶體。
方法二: 利用char的封裝類 character, 通過如下靜態方法就可以直接實現。
public static int getNumericValue(char ch) {
return getNumericValue((int)ch);
}
例子:
執行結果package com.albertshao.interview; public class IntAndCharConvertor { public static void main(String[] args) { char numChar = '9'; int intNum = (int)numChar; System.out.println(numChar + ": " + intNum); //method 1: char[] charArray = {numChar}; intNum = Integer.parseInt(new String(charArray)); System.out.println("method 1: " + numChar + ":" + intNum); //method 2: System.out.println("method 2: " + numChar + ":" + Character.getNumericValue(numChar)); } }
9: 57
method 1: 9:9
method 2: 9:9