本帖最后由 黑马唐贤来 于 2013-1-21 11:49 编辑
黑马刘杰 发表于 2013-1-21 11:31
你这个程序执行时就输出1,后面的(i+(i==null?1:2))没有执行,你是判断不出来i+null的
这样子可以判断一下 ...
这个我知道,我也觉得后面是执行不到的,可为什么下面的代码能执行到呢- public static void main(String[] args)
- {
- Map<String, Integer> map = new HashMap<String, Integer>();
- String str = "x";
- Integer i = Math.random()*10 > 7? 5 : null;
- System.out.println(i);
- map.get(str)==
- map.put(str, map.get(str)==null ? i : (map.get(str) + (i==null? 1 : i)));
- }
复制代码 其中map.get(str)绝对是等于null的... |