String str = "";
System.out.println(str.matches("[0-9]"));

解决方案 »

  1.   

    你错了,[0-9]*表示的是0或0个以上的数字,str为空,说明包含于[0-9]*情况之中的
      

  2.   

    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    package test;/**
     *
     * @author Administrator
     */
    public class Func {    public void matchesTest() {
            String str = " ";
            System.out.println(str.matches("[0-9]*"));//false
        }    public static void main(String[] args) {
            Func f = new Func();
            f.matchesTest();
        }
    }
      

  3.   

    正则写错了
    String str = "";
    System.out.println(str.matches("^[0-9]+$"));