String str="123"
boolean result=str.matches("[0-9]+$")
System.out.println(result)
却实不能判断是不是整数,先帮你解说下你这里的问题:if((int)value==value)//这里是不会相等的,你将value强转成了int型,它会舍弃小数点后面的所有小数得到的结果自然不会相等,哪怕value原来的值是1.0那么1.0也不等于1。
要判断vallue是不是整数可以这样做:
if(String.valueOf(value).substring(String.valueOf(value).indexOf('.')).equals("0"))
这是在判断你得到的值的小数点后面是不是为0(我觉得你是想问这个,因为要判断它是不是整数就是判断它是不是int型,int型的值都是整数,因为它的名字叫“整形”)