题库 软件开发 题目列表 如下Java代码会输出什么? import java.util.HashSe...
单选题
如下Java代码会输出什么?
import java.util.HashSet;
import java.util.Set;
public class HashSetTest {
    public static final class Person {
        private String name = "";
        public Person(String n) {
            setName(n);
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = (name == null) ? "" : name;
        }
        @Override
        public int hashCode() {
            return name.length();
        }
        @Override
        public boolean equals(Object obj) {
            if (!(obj instanceof Person)) {
                return false;
            }
            if (obj == this) {
                return true;
            }
            return this.name.equals(((Person) obj).name);
        }
    }
    public static void main(String[] args) {
        Set<Person> persons = new HashSet<Person>();
        Person person = new Person("nowcoder");
        persons.add(person);
        person.setName("nowcodertest");
        boolean isContains = persons.contains(person);
        int size = persons.size();
        System.out.println("isContains=" + isContains);
        System.out.println("size=" + size);
    }
}

A.
isContains=false
size=1
B.
isContains=true
size=1
C.
isContains=false
size=2
D.
isContains=true
size=2
题目信息
校招真题
-
正确率
0
评论
18
点击