我面试遇到了以下问题。
下面的代码会输出什么结果。
package com.demo;
import java.util.HashSet;
import java.util.Set;
public class Test {
public static void main(String[] args) {
Set<Short> set=new HashSet<Short>();
for (short i = 0; i < 10; i++){
set.add(i);
set.remove(i-1);
}
System.out.println(set.size());
}
}
它的输出结果是:10
但我对它为什么会输出10感到困惑。
请问有人能解释一下这里发生了什么吗?
谢谢!
SItansu
Set<T>
类型,由于remove
被定义为接受Object
类型的参数,因此您不会收到类型不匹配的警告或错误。 - Michael Anderson