您的位置:首页 > 其它

记录最近遇到的两个小问题

2016-04-30 17:00 204 查看
前几天在项目中遇到的两个小问题,说是问题,其实是非常基础的知识。再一次暴露了基础不扎实的漏洞

1、Long型比较大小

相信大家都清楚Long和long的区别,
long是基本数据类型
,而
Long是包装类型


long存储在堆栈,Long存储在堆中;

long不是面向对象的,Long是面向对象的;

包装类型的好处:方便涉及到对象的操作,包含了基本数据类型的相关属性和相关操作方法。

因为Long型数据是一个对象,所以不能通过“==”的方式来比较大小。

如果使用“==”比较两个Long类型,实际比较的是两个对象的内存地址,也就是比较两个对象是否是同一个对象。这种方法很少用到,但是如果应用巧妙也会省时省力。

比较两个Long对象值的大小的方法有两种:

①、
boolean boolean = new Long(3).equals(new Long(3));


②、
boolean boolean = (new Long(3).longValue() == new Long(3).longValue())


2、Base64和字符串转换

将String转换为Base64:

byte[] stringToBytes = Base64.decode(string, Base64.DEFAULT);


将Base64转换为String:

ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream os = new ObjectOutputStream(bos);
os.writeObject(obj);
String bytesToHexString = new String(Base64.encode(bos.toByteArray(), Base64.DEFAULT));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: