我相信你们都知道我的意思 - 代码如下:
Thread thread = new Thread();
int activeCount = thread.activeCount();
Run Code Online (Sandbox Code Playgroud)
引发编译器警告.为什么不是错误?
编辑:
要明确:问题与Threads无关.我意识到在讨论这个问题时经常给出Thread示例,因为它们可能真的搞砸了它们.但问题确实是这样的使用总是无稽之谈,你不能(胜任地)写出这样的电话并且意味着它.这种类型的方法调用的任何例子都是barmy.这是另一个:
String hello = "hello";
String number123AsString = hello.valueOf(123);
Run Code Online (Sandbox Code Playgroud)
这使得它看起来好像每个String实例都带有"String valueOf(int i)"方法.
为什么GetHashCode是Object类的一部分?只有一小部分对象用作哈希表中的键.当我们希望类的对象作为哈希表中的键时,必须实现一个单独的接口,这不是更好吗?
必须有一个原因,MS团队决定将此方法包含在Object类中,从而使其"无处不在".