wohenyingyu01
V2EX  ›  问与答

如果考类似这种 java 面试题会不会太难而且没意义?

  •  
  •   wohenyingyu01 · Oct 28, 2015 · 4444 views
    This topic created in 4032 days ago, the information mentioned may be changed or developed.
    //
    Integer c=2;
    Integer d=2;
    Integer u=1000;
    Integer i=1000;
    int o=1000;
    int p=1000;
    System.out.println(c==d);
    System.out.println(u==i);
    System.out.println(o==p);

    求输出值。
    26 replies  •  2015-10-29 08:09:28 +08:00
    mulog
    mulog
    Oct 28, 2015
    1
    这难吗
    我不写 java 的都能猜到是 True False True 啊
    错了不要打 逃---))
    tobyxdd
    tobyxdd
    Oct 28, 2015 via Android
    2
    False false true
    tobyxdd
    tobyxdd
    Oct 28, 2015 via Android
    3
    这种题属于 0 难度吧。。
    usapla
    usapla
    Oct 28, 2015
    4
    @tobyxdd
    @mulog
    为啥你俩的答案不一样呢
    20131115
    20131115
    Oct 28, 2015
    5
    @tobyxdd 基础不扎实
    liubaing
    liubaing
    Oct 28, 2015
    6
    @tobyxdd 忘了 IntegerCache 这了吧
    wohenyingyu01
    wohenyingyu01
    OP
    Oct 28, 2015
    7
    @tobyxdd 。。。错了吧?
    20131115
    20131115
    Oct 28, 2015
    8
    @tobyxdd

    Integer a=127;
    Integer b=127;
    System.out.println(a==b);

    Integer c=128;
    Integer d=128;
    System.out.println(c==d);

    运行一下试试
    hcymk2
    hcymk2
    Oct 28, 2015
    9
    Integer Cache
    这个和基础没关系吧
    Integer c=128;
    Integer d=128
    再看看。
    而且你换个老点 java 版本(<5)你会发现结果又不一样。
    tobyxdd
    tobyxdd
    Oct 28, 2015 via Android
    10
    @20131115
    @liubaing
    @wohenyingyu01
    @20131115
    我的错😂不过刚刚试了下 在 dalvik 上确实是 false false true 。。
    wohenyingyu01
    wohenyingyu01
    OP
    Oct 28, 2015
    11
    @hcymk2 所以已经把两个数字的差距拉得很明显了基本上只要知道这玩意儿的都能答出来
    tobyxdd
    tobyxdd
    Oct 28, 2015 via Android
    12
    java7+以后 integercache 可以配置-Djava.lang.Integer.IntegerCache
    SkyEcho
    SkyEcho
    Oct 28, 2015
    13
    ...这个是忽悠人的吧, Integer 是包装的类,比较的是地址, int 是基础类型,所以=是被重载的比较是值?
    hcymk2
    hcymk2
    Oct 28, 2015
    14
    java 环境不同, 可能结果也不同。
    q5we66fg
    q5we66fg
    Oct 28, 2015
    16
    个人觉得这些没什么意义,我们又不是编译器,虽然这个题目不是很难,如楼上说的,知道的肯定懂,不知道还不知道考什么。不过环境不同答案也不同。
    WalkingEraser
    WalkingEraser
    Oct 28, 2015
    17
    校招的表示,这已经是相当简单的了…
    ohmycodeape
    ohmycodeape
    Oct 28, 2015
    18
    1.5 之后的 java 结果都是相同的 之前没有自动拆装不知道什么情况 没用过那么低的版本
    kx5d62Jn1J9MjoXP
    kx5d62Jn1J9MjoXP
    Oct 28, 2015
    19
    我的第一反应是 true , true , true ,和正确答案不一样, so 没意义~
    Valyrian
    Valyrian
    Oct 28, 2015 via iPad
    20
    确实没意义
    binnchx
    binnchx
    Oct 28, 2015
    21
    我觉得这题很考察基础啊, 比如
    Integer a = 127 这句,通过 javap 打印
    2: invokestatic #2 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
    这句实际执行的是
    Integer a = Integer.valueOf(127);
    吧,还考了是否知道 IntegerCache, 看一个人是否会看 jdk 源码查问题,很好的题啊。
    Comdex
    Comdex
    Oct 28, 2015
    22
    easy job
    nikoukou
    nikoukou
    Oct 28, 2015
    23
    考过 ojcp 的表示,自动拆箱自动装箱原理,但是毫无卵用,还是考 leetcode 吧
    leavic
    leavic
    Oct 28, 2015
    24
    这个属于陷阱性的题目,作为考点有点无聊,不过中国人这么多年考试经验了,看到太简单的一定会起疑心,再分析一下估计就找出问题了。
    mind3x
    mind3x
    Oct 28, 2015
    25
    JLS 规范:

    "If the value p being boxed is true, false, a byte, or a char in the range \u0000 to \u007f, or an int or short number between -128 and 127 (inclusive), then let r1 and r2 be the results of any two boxing conversions of p. It is always the case that r1 == r2."
    nicegoing
    nicegoing
    Oct 29, 2015 via Android
    26
    101 ,这题不难的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4634 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 01:22 · PVG 09:22 · LAX 17:22 · JFK 20:22
    ♥ Do have faith in what you're doing.