Java开发细节处理

总结日常开发过程中遇到的细节问题——不定时更新

1、toString()方法:当变量为null时候,使用toString()方法,则会报空指针错误!java.lang.NullPointerException

         后经过测试变量为"",不报错

2、函数传参问题:example:针对getData(parameter),如果参数parameter是一个动态的值且为int类型,则直接写入即可,但如果是动态的值且为String类型,则函数应为getData("parameter");

3、针对字符串空值问题:字符串为空格组成,不为空值

    Example:

        String strSpace = "";
        user.setMessageStyle(" ");
        strSpace = user.getMessageStyle().toString();
        System.out.println("空格:" + strSpace);

控制台输出是含有一个空格的;

4、==与equals区别:

    值相同,但对象不同时,==会返回false;而equals会返回true;

5、针对遍历对象(实体类,也叫自定义类),采用反射机制来遍历;而遍历数组、List则可以直接用for循环;

    反射案例:

        System.out.println(user);
        for (Field testField : user.getClass().getDeclaredFields()) {
            //获取所有权限
            testField.setAccessible(true);
            System.out.println(testField.getName() + ":" + testField.get(user));
        }

  

6、 Iterator迭代器的使用——去除List中的元素

    案例——去除订单中状态为已退单的订单

                //去除已退订订单
                Iterator<BusinessAndOrder> it = page.getRows().iterator();
                BusinessAndOrder modelList = null;
                while (it.hasNext()) {
                    modelList = it.next();
                    if (modelList.getTaskStatus() == TaskSatus.RETIRED) {
                        it.remove();
                    }
                }

7、对于A.equals(B),如果A为null,则在程序运行的时候,报出空指针异常错误;而Objects.equals(A,B),如果两个参数都为

   null,Objects.equals(A,B) 调用将返回 true ; 如果其中一个参数为 null ,则返回 false ; 否则,如果两个参数都不为 null, 则调     用 A.equals(A,B);

   equals案例:

 System.out.println("===================================测试equals======================================");
        String A = null;
        String B = null;
        System.out.println("测试equals:" + Objects.equals(A, B));
        System.out.println("测试equals:" + A.equals(B));

   

8、Map集合允许值对象为null,并且没有个数限制,所以当get()方法的返回值为null时,可能有两种情况,一种是在集合中没有    该键对象,另一种是该键对象没有映射任何值对象,即值对象为null。因此,在Map集合中不应该利用get()方法来判断是否存在    某个键,而应该利用containsKey()方法来判断。

      Map<String, String> map = new HashMap<>();
        map.put("a", "a");
        map.put("b", "b");
        map.put("c", "c");
        String key = "a";
        boolean contains = map.containsKey(key);
        if (contains) {
            System.out.println("在Map集合中包含键名" + key);
        } else {
            System.out.println("在Map集合中不包含键名" + key);
        }

9、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值