在Java中,字符转数字通常通过Integer.parseInt(),Integer.valueOf或者利用Character.getNumericValue()完成。下面我们将详细描述这三种常见的转换方法。

一、使用Integer.parseInt()方法

Integer.parseInt()方法是将String类别的数值转换为基本数据类型int。这是一种非常直接有效的方法来转换字符到数据。

String str = "123"; int num = Integer.parseInt(str); System.out.println(num);

请注意,假如字符串包括非数字字符,使用这种方法能够抛出NumberFormatException异常。

String str = "123abc"; try {    int num = Integer.parseInt(str);    System.out.println(num); } catch(NumberFormatException e) {    System.out.println("String contains non-numeric characters."); }

二、使用Integer.valueOf()方法

Integer.valueOf()将字符串转换为Integer目标。根据启用intValue(),我们要从Integer目标那里获得int值。

String str = "123"; Integer integerObj = Integer.valueOf(str); int num = integerObj.intValue(); System.out.println(num);

也有Integer.parseInt()方式类似,假如字符串中含有非数字字符,使用这种方法会导致NumberFormatException异常。

String str = "123abc"; try {    Integer integerObj = Integer.valueOf(str);    int num = integerObj.intValue();    System.out.println(num); } catch(NumberFormatException e) {    System.out.println("String contains non-numeric characters."); }

三、使用Character.getNumericValue()方法

Character.getNumericValue()方式用以获得字符的int值。此方法改善了单独字符的转换,是转换单独字符时的首选。

char ch = '9'; int num = Character.getNumericValue(ch); System.out.println(num);

此方法适用于包括非拉丁数字在内的各种数字字符。若字符不代表任何数据,则此方法将回到-1。

char ch = 'x'; int num = Character.getNumericValue(ch); if(num == -1){     System.out.println("Character does not represent a number."); } else {     System.out.println(num); }