Long,String类型的两个值进行比较,注意点!!!
2015-11-09 14:37
260 查看
一:
. Long 类型指的是 java.util.Lang 对象,而不是基本类型 long (注意大小写) Java中如果使用 == 双等于比较对象,等于比较的是两个对象的内存地址,也就是比较两个对象是否是同一个对象 如果比较两个Long对象值是否相等,则不可以使用双等号进行比较,可以采用如下方式: 1. 使用 equals 方法 Long a = new Long(3); Long b = new Long(3); System.out.println(a.equals(b)); 2. 使用 Long 类型中的 longValue() 方法进行比较,如 Long a = new Long(3); Long b = new Long(3); System.out.println(a.longValue()==b.longValue());
二:
String类型的也是如此: == 只是判断两个字符串的内存地址是否相等。用equals方法才是判断值是否相等。
代码如下:
if("1".equals(surchargeCList.get(i).getPaymentMethod()) && surchargeCList.get(i).getIsOther() == 0) { treeSet.add(surchargeCList.get(i).getCurrency()); } “1”要写在前面。防止报空指针异常。因为surchargeCList.get(i).getPaymentMethod()可能为null,一个空对象去调equals方法就会报空指针异常。
相关文章推荐
- 手机自动化测试:appium源码分析之bootstrap四
- HMC V6重启(关机)方式
- Java记录 -73- 泛型详解
- 解决dxp打印原理图灰色背景问题
- win7安装mongodb
- 一些App开发指南
- 重定位本进程的标准输出至文件(非子进程)
- 关于"LNK2005"错误
- Android性能优化典范(A1)----渲染机制
- HTML5 中的下载简化处理
- linux redis安装
- 张艺谋女儿当导演 盘点娱乐圈虎父犬女明星
- Python中MySQLdb和torndb模块对MySQL的断连问题处理
- UVA 11549-Calculator Conundrum-floyd判重
- [转载]iTOP-4412开发板搭建最小linux系统
- 把redis加载到window服务里
- k好数 (蓝桥杯)
- git origin和master分析
- 在fragment中调用getSupportActionBar (com.android.support:appcompat-v7)
- linux下mysql表名大小写敏感问题