zoukankan      html  css  js  c++  java
  • 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类型声明的时候,这时候不会报错。





























  • 相关阅读:
    源码分析shiro认证授权流程
    shiro功能模块
    Java NIO(New I/O)的三个属性position、limit、capacity
    阻塞和非阻塞,同步和异步 总结
    小白科普:Netty有什么用?
    【异常】SSM整合quartz之org.quartz.impl.JobDetailImpl----ClassNotFoundException
    笔记本键盘字母按出来的都是快捷键
    eclipse egit提交方法
    oracle批量insert
    CAS Client 3.2.1 配置详解
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/7052845.html
Copyright © 2011-2022 走看看