Java中char 转化为int 的两种方法

2023-05-16

今天机试过程中遇到一个问题: 如何把 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



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中char 转化为int 的两种方法 的相关文章