java判断object 是字符串还是数字

如题所述

1.使用Character.isDigit(char)判断
char num[] = str.toCharArray();//把字符串转换为字符数组
StringBuffer title = new StringBuffer();//使用StringBuffer类,把非数字放到title中
StringBuffer hire = new StringBuffer();//把数字放到hire中
for (int i = 0; i < num.length; i++) {
// 判断输入的数字是否为数字还是字符
if (Character.isDigit(num[i])) {把字符串转换为字符,再调用Character.isDigit(char)方法判断是否是数字,是返回True,否则False
hire.append(num[i]);// 如果输入的是数字,把它赋给hire} else {title.append(num[i]);// 如果输入的是字符,把它赋给title}}}
2.使用类型转换判断try {String str="123abc";
int num=Integer.valueOf(str);//把字符串强制转换为数字
return true;//如果是数字,返回True
} catch (Exception e) {
return false;//如果抛出异常,返回False}
3.使用正则表达式判断
String str = "";
boolean isNum = str.matches("[0-9]+");
//+表示1个或多个(如"3"或"225"),*表示0个或多个([0-9]*)(如""或"1"或"22"),?表示0个或1个([0-9]?)(如""或"7")
ps:这个方法只能用于判断是否是正整数
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-05-07
用instanceof关键字判断,参考下面代码
Object param = params.get(i);
if (param instanceof Integer) {
int value = ((Integer) param).intValue();
prepStatement.setInt(i + 1, value);
} else if (param instanceof String) {
String s = (String) param;
prepStatement.setString(i + 1, s);
} else if (param instanceof Double) {
double d = ((Double) param).doubleValue();
prepStatement.setDouble(i + 1, d);
} else if (param instanceof Float) {
float f = ((Float) param).floatValue();
prepStatement.setFloat(i + 1, f);
} else if (param instanceof Long) {
long l = ((Long) param).longValue();
prepStatement.setLong(i + 1, l);
} else if (param instanceof Boolean) {
boolean b = ((Boolean) param).booleanValue();
prepStatement.setBoolean(i + 1, b);
} else if (param instanceof Date) {
Date d = (Date) param;
prepStatement.setDate(i + 1, (Date) param);
}本回答被提问者和网友采纳
第2个回答  2018-02-27
//判断数字
try {
    new BigDecimal(object.toString());
} catch (NumberFormatException e) {
    //不成功就不是数字
}

//判断字符串使用 obeject instanceOf String即可

java判断object 是字符串还是数字
hire.append(num[i]);\/\/ 如果输入的是数字,把它赋给hire} else {title.append(num[i]);\/\/ 如果输入的是字符,把它赋给title}}} 2.使用类型转换判断try {String str="123abc";int num=Integer.valueOf(str);\/\/把字符串强制转换为数字 return true;\/\/如果是数字,返回True } catch (Excep...

java 怎么判断是不是字符串
判断一个对象是否属于一个类可以用关键字instanceof,它是二元操作符,格式为:对象 instanceof 类名 式子的值为一个布尔值(boolean)Object sth;bool isString = sth instanceof String;或者 if (sth instanceof String) { \/\/ your code}这样 ...

java如何判断非空
这个要看你对象的类型,如果是Object 类型的变量,可以简单的使用是否为 null,进行判断,如果为字符串或者集合类型(数组,List,Map等),判断是否为空,然后根据属性判断里面是否包含元素即可,如:对于Object,可以通过如下判断:Object o = ...if(o == null) { \/\/ 这里写o为空的逻辑 } 对于数...

Java中怎样判断一个字符串是否是数字
用java的异常机制,不仅可以判断是否是数字,还可以判断整数或者小数:public void checkInt(String bh){ try{ int num = Integer.parseInt(bh);\/\/将输入的内容转换成int System.out.println("是整数:"+num);\/\/是整数 }catch (NumberFormatException e) {\/\/转换成int类型时失败 try{ double d =...

java中怎么判断指定的数据是字符串是否是数字?
java中判断字符串是否为数字的方法:1.用JAVA自带的函数 public static boolean isNumeric(String str){for (int i = 0; i < str.length(); System.out.println(str.charAt(i));if (!Character.isDigit(str.charAt(i))){return false;} }return true} 2.用正则表达式 首先要import java.util...

java中判断字符是数字还是汉字
public class Testone {public static void main(String[] args){String str="123456";boolean result=str.matches("[0-9]+");if (result == true) {System.out.println("该字符串是纯数字");}else{System.out.println("该字符串不是纯数字");}}}方法二:利用Pattern.import java.util....

java中验证字符串是不是数字的四种方法
isDigit 只能作用于char,所以判断字符串是否为数字,要一个一个拿出char进行判断。2。用正则表达式 首先要import java.util.regex.Pattern 和 java.util.regex.Matcher 这两个包,接下来是代码 public boolean isNumeric(String str){Pattern pattern = Pattern.compile(”[0-9]*”);Matcher isNum =...

...String[]是字符串数组,那么Object[]是什么数组呢?还有,什么是对象数 ...
int[]是整型数组,String[]是字符串数组,Object[]是对象数组。什么是对象数组:即实体类对象建立的数组,int[]不是,而Integer[]是,String[]是,float[]不是,而FLoat[]是,明白了吧,int、float只是简单的数据类型,并非实体类型。那么,Object是什么呢,java把它定义为所有对象的统称,任何实体都...

object 是什么类型
Object类是所有Java类的祖先。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。在不明确给出超类的情况下,Java会自动把Object作为要定义类的超类,可以使用类型为Object的变量指向任意类型的对象。Object类有一个默认构造方法pubilc Object(),在构造子类实例时,都会先调用这个默认...

java判断是否是数字
你可以用try{}catch(){}异常机制,把你传入的字符串转换成数字,如果发生异常就不是数字,没有发生异常则是数字

相似回答