java吧 关注:1,282,724贴子:12,805,538
  • 6回复贴,共1

Java 每日一题:2016年8月25日

只看楼主收藏回复

每天在这里贴一道 Java 题。
问题不难,有 Java 的基本知识就可以做出来。
问题也不偏,日常工作中时不时会碰到。
每日一题索引页:52.36.153.52:8080/javaquestions/

程序输出结果是什么?
MyElement 类中的hashCode 方法返回一个整数常量(42)。如果不考虑效率的话,这样写行不行?


1楼2016-08-25 12:22回复
    源程序:
    package javaquestions;
    import java.util.HashSet;
    import java.util.Set;
    public class JavaQuestion20160825
    {
    public static void main(String[] args)
    {
    MyElement e1 = new MyElement("Eddie");
    MyElement e2 = new MyElement("Tony");
    MyElement e3 = new MyElement("Tom");
    MyElement e4 = new MyElement("Tom");
    Set<MyElement> set = new HashSet<MyElement>();
    set.add(e1); set.add(e2); set.add(e3); set.add(e4);
    System.out.println(set.size());
    }
    }
    class MyElement
    {
    String name;
    MyElement(String name)
    {
    this.name = name;
    }
    @Override
    public boolean equals(Object obj)
    {
    if (this == obj)
    return true;
    if (obj instanceof MyElement && this.name.equals(((MyElement) obj).name))
    return true;
    return false;
    }
    @Override
    public int hashCode()
    {
    return 42; // 这样覆写 hashCode 方法行不行?
    }
    }


    2楼2016-08-25 12:22
    回复
      2025-10-13 13:54:22
      广告
      不感兴趣
      开通SVIP免广告
      我第一 先占个位置再答题


      IP属地:上海3楼2016-08-25 12:36
      收起回复
        应该是3?


        IP属地:辽宁来自iPhone客户端4楼2016-08-25 12:40
        回复
          所有的单词我都认识,就是组合在一起我就不认识了


          IP属地:安徽来自iPhone客户端7楼2016-08-26 15:19
          回复