• 360在线笔试---反思两道题


    1.

      HashMap map=new HashMap();
               map.put("name", null);
               map.put("name", "cindy");
               System.out.println(map.size());
    问。输出的size是多少?

    分析:这个明显考的是map接口的实现类HashMap的细节。而我忽略了,或者说平时没有注意。

    正确答案是1。

    接下来,让我们来弄清楚。

    我编了这样一个程序。

    public static void main(String[] args) {
               HashMap map=new HashMap();
               map.put("name", null);
               map.put("name", "cindy");
               map.put("name","Tom" );
               System.out.println( map.get("name"));
               System.out.println(map.containsKey("name"));
               System.out.println(map.size());
        }

    输出结果是:

    Tom
    true
    1

    这说明了,仅仅要HashMap中元素的key 同样。那么后来加入的这个同样key的条目会覆盖之前的。并且算一条项目。原来的那个就不见了。相当于替换了。

    我再次验证一下:我改了一下測试程序,

         HashMap map=new HashMap();
               map.put("name", null);
               //map.put("name", "cindy");
               //map.put("name","Tom" );
               map.put(null, "hello");
               System.out.println( map.get("name"));
               System.out.println(map.containsKey("name"));
               System.out.println(map.size());


    null
    true
    2

    说明hashMap是同意value为null的,并且也是同意key也是null。

    最后综合检測:

      HashMap map=new HashMap();
               map.put("name", null);
               map.put("name", "cindy");
               map.put("name","Tom" );
               map.put(null, "hello");
               System.out.println( map.get("name"));
               System.out.println(map.containsKey("name"));
               System.out.println(map.size());

    输出:

    Tom
    true
    2





    2.关于byte类型的数字相加问题:

     byte b1=3;
               byte b2=4;
               byte b3,b4;
               b3=b1+b2;
               b4=b3+b2;

    问。b4等于多少或者说哪一句会报错?

    结果是b3=b1+b2;会报错。

    为什么呐?编译器显示报错信息例如以下:

    不兼容的类型: 从int转换到byte可能会有损失

    。。由于,尽管b1,b2是byte类型的。可是却是整数的值,相加依照整数int类型计算

    。当声明b3的时候用int类型声明的时候,这时候不会报错。





























  • 相关阅读:
    JIRA Activity Stream连接到FishEye时路径不对
    职业分析
    Doublechecked locking解析
    Wireshark基本介绍和学习TCP三次握手
    插入排序算法
    Event.observe
    前端开发工程师如何在2013年里提升自己
    addEventListener(转)
    最好的HTML 5编码教程和参考手册分享
    XSRF 的攻击与防范
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/7052845.html
Copyright © 2020-2023  润新知