java判断字符串是否可以转为数字

java运算中,常涉及将String 型的字符串转为int 型数字的情况。

哪些字符串可以转为数字,哪些不可以呢,不能总以Integer.parseInt() 是否抛出异常来判断。

刚好碰到了转换情况,就总结了下,分享出来。

定义方法签名

/**
* 查看一个字符串是否可以转换为数字
* @param str 字符串
* @return true 可以; false 不可以
*/
public static boolean isStr2Num(String str) { 

}

方法体该如何实现呢?两种方式

方法1  Integer.parseInt 转换

		try {
			Integer.parseInt(str);
			return true;
		} catch (NumberFormatException e) {
			return false;
		}

方法2  正则表达式

		Pattern pattern = Pattern.compile("^[0-9]*$");
		Matcher matcher = pattern.matcher(str);
		return matcher.matches();

Integer 还有一个静态方法valueOf(String s),查看源码

public static Integer valueOf(String s) throws NumberFormatException {
    return Integer.valueOf(parseInt(s, 10));
}

valueOf(String s) 也还是先通过parseInt() 先将字符串转换为数字,然后再转换为Integer对象的

而 parseInt(String s) 返回的是int 型变量,节省了堆内存的开销

public static int parseInt(String s) throws NumberFormatException {
    return parseInt(s,10);
}

所以,这里的判断使用parseInt 就可以了。

时间: 2024-11-02 23:31:08

java判断字符串是否可以转为数字的相关文章

java判断字符串内容

java判断字符串是否全为数字 String str = "032";boolean isNum = str.matches("[0-9]+"); java判断字符串是否全为英文字母 String str="dhdhdhdj";boolean isWord=str.matches("[a-zA-Z]+"); 原文地址:https://www.cnblogs.com/ggqzz/p/8421716.html

java判断字符串是否为数字或中文或字母

1.判断字符串是否仅为数字: 1>用JAVA自带的函数 public static boolean isNumeric(String str){   for (int i = str.length();--i>=0;){       if (!Character.isDigit(str.charAt(i))){     return false;    }   }   return true;  } 2>用正则表达式 public static boolean isNumeric(Str

(转)java判断string变量是否是数字的六种方法小结

java判断string变量是否是数字的六种方法小结 (2012-10-17 17:00:17) 转载▼ 标签: it 分类: 转发 1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < str.length(); i++){ System.out.println(str.charAt(i)); if (!Character.isDigit(str.charAt(i))){ return fal

java判断字符串是否为空的方法总结

http://blog.csdn.net/qq799499343/article/details/8492672 以下是java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s)); 方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法: if(s == null || s.length() <= 0); 方法三: Java SE 6.0 才开始提供的方法, 效率和方法二

java判断字符串是否为乱码

项目中有一个功能 在IE中GET方式提交会产生乱码 但有两个入口都会走这同一段代码 固不能直接转码,所以要进行判断传过来的该值是不是乱码 可用以下方式验证: java.nio.charset.Charset.forName("GBK").newEncoder().canEncode("测试") //判断是不是GBK编码 即是否乱码 //使用request.getQueryString()获取通过URL传过来的值 有可能是乱码 如:q=é????¥ String s

Java 判断字符串是否为空的四种方法、优缺点与注意事项

以下是Java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s));方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法: if(s == null || s.length() <= 0);方法三: JavaSE 6.0 才开始提供的方法, 效率和方法二几乎相等, 但出于兼容性考虑, 推荐使用方法二. if(s == null || s.isEmpty()); 方法四:

Oracle中如何判断字符串是否全为数字

Oracle中如何判断字符串是否全为数字 学习了:http://www.cnblogs.com/zrcoffee/archive/2012/12/11/2812744.html 本文介绍了判断字符串是否全为数字的4种办法,另外还介绍了一个translate函数的小技巧,从任意字符串中提取数字(调用2次translate函数).这个办法是一个公司同事发现的,用起来很方便,但理解起来稍有点困难.1.通过ASCII码判断是否数字,介于[48, 57]之间,(ascii('0') = 48, ascii

java判断字符串中是否包含汉字

原文:java判断字符串中是否包含汉字 源代码下载地址:http://www.zuidaima.com/share/1550463517428736.htm package com.zuidaima.util; /** *@author www.zuidaima.com **/ public class test { public static void main(String[] args) { String a = "中国China"; for (int i=a.length();

java判断字符串是否为空

以下是 Java 判断字符串是否为空的三种方法. 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低. 方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法. 方法三: Java SE 6.0 才开始提供的方法, 效率和方法二几乎相等, 但出于兼容性考虑, 推荐使用方法二. 1:if(s == null || s.equals("")); 2:if(s == null || s.length() <= 0); 3:if(s == null || s.isEmpt