Integer和int相关

Integer和int的区别:
1.int是基本数据类型(默认值为0),而Integer是类(默认值为null)。
2.Integer.valueOf(a),是将a转换成Integer对象,使得转换完的a具有了方法和属性
   而Integer.parseInt(b),是将字符串转换成int型,转换过后的结果是int型的,不具备方法和属性。
3.Integer a = 3;java在编译的时候,被翻译成Integer a = Integer.valueOf(3);
4.Integer对于(-128)-(127)之间的数会进行缓存。
5.Integer和int比(无论是否new)都为true,因为都会把Integer自动拆箱成int再去比较。
6.Integer和int适用场合有很大的不同,之所以要把int封装成Integer型,是因为很多方法参数就只接收对象类型(Object) ,还比如范型就只支持 对象类型 ,例如往ArrayList里面add,必须add的是Object而int不是对象,就只能把Integer添加进去。

(题外话:
一、八大基本数据类型都有对应的包装类---byte,short,int,long,float,double,char,boolean
1.包装类的数值是无法修改的
2.都有一个参数为本数据类型的构造方法
3.都有一个参数为字符串类型的构造方法
4.都有一个方法可以把存在包装类里的值取出来,比如Integer.intValue()
5.都有一个静态方法可以把字符串转换为对应类型的值,比如Integer.parseInt()

二、String和StringBuffer
两个String相加其实是如下方式:
"String1" + "String2" -> new StringBuffer("String1").append("String2").toString()
先建立一个StringBuffer,再用append计算,最后把StringBuffer转换成String
原因是String是不可被修改的,而StringBuffer是可以被修改的,字符串计算时用StringBuffer比较快

参考网址:

参考网址:


如何判断一个对象的类型:
java:
1.对象.getClass().getName();
2.if (对象.getClass().equals(类.class)) {} or if (对象.getClass().getName().equals(类.class.getName() )) {}
3.if (对象 instanceof 类) {}

js:
1.typeof
alert(typeof 1);// number
alert(typeof "aa");// String
alert(typeof [1,2,3]);// Object

2.Object.prototype.toString.call
var type = function(v) {
     return Object.prototype.toString.call(v);
}
alert(type(null));// Object null
alert(type(undefined));// Object undefined
alert(type([1,2,3]));// Object Array

参考网址:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值