java中判断String是否为数字类型字符串

guo-siqi / 2023-08-30 / 原文

一:判断java中的字符串是否为数字,可以通过正则表达式来判断;其判断逻辑如下:

         1、根据阿里巴巴代码规范,将Pattern设置为全局常量,通过 -?[0-9]+(\\\\.[0-9]+)? 进行匹配是否为数字

  private static final Pattern pattern = Pattern.compile("-?[0-9]+(\\\\.[0-9]+)?");

  2、通过Matcher进行字符串匹配,如果正则匹配通过 m.matches() 方法返回 true ,反之 false

 Matcher m = pattern.matcher(str);

二:其完整代码如下:

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class IsNumber {
    
    private static final Pattern pattern = Pattern.compile("-?[0-9]+(\\\\.[0-9]+)?");
 
    
    public static boolean isNumber(String str) {
        
        Matcher m = pattern.matcher(str);
        
        return m.matches();
    }
}

三:测试

public static void main(String[] args) {
        String S1 = "1234";
        String S2 = "你好";
        System.out.println(isNumber(S1));
        System.out.println("-----------");
        System.out.println(isNumber(S2));
    }