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

Python021

java判断object 是字符串还是数字,第1张

1.使用Character.isDigit(char)判断

char num[] = str.toCharArray()//把字符串转换为字符数组

StringBuffer title = new StringBuffer()//使用StringBuffer类,把非数字放到title中

StringBuffer hire = new StringBuffer()//把数字放到hire中

for (int i = 0i <num.lengthi++) {

// 判断输入的数字是否为数字还是字符

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:这个方法只能用于判断是否是正整数

key的数据类型范围不同。

1、Object:可以作为key的有:number,string,以及es6里面的symbol。

2、 Map:js目前存在的数据类型均可以作为key。

Java Object类是所有类的父类,主要方法有:

getClass():获取运行时类型,返回值为Class对象

2.hashCode():返回该对象的哈希码值,是为了提高哈希表的性能(HashTable)

3.equals():判断两个对象是否相等,在Object源码中equals就是使用==去判断,所以在Object中equals是等价于==的,但是在String及某些类对equals进行了重写,实现不同的比较。

4.clone():JAVA里除了8种基本类型传参数是值传递,其他的类对象传参数都是引用传递,我们有时候不希望在方法里讲参数改变,这是就需要在类中复写clone方法。此方法只实现了一个浅层拷贝,对于基本类型字段成功拷贝,对嵌套对象,只把地址拷贝了,需要自己重写clone方法进行深度拷贝。

5.toString():返回一个String字符串,用于描述当前对象的信息,可以重写返回对自己有用的信息,默认返回的是当前对象的类名+hashCode的16进制数字。

6.wait():多线程时用到的方法,作用是让当前线程进入等待状态,同时也会让当前线程释放它所持有的锁。直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,当前线程被唤醒

7.notify():多线程时用到的方法,唤醒该对象等待的某个线程

8.notifyAll():多线程时用到的方法,唤醒该对象等待的所有线程

9.finalize():对象在被GC释放之前调用finalize方法。

你明白了吗?