この質問は 4 票で締め切られたので、コミュニティがより好意的に見てくれることを願って、より狭い質問をもう一度しようと思います。
Java における特定の設計上の決定のうち、どのような方法で文書化されているかは、それが好ましい設計上の決定だったからではなく、下位互換性をサポートするために必要だったからです。
明らかなケースは、実行時に型パラメーターを検出できない Generics です。(したがって、次のことはできません:
public void addEmptyMember(List<?> someList) {
if (someList instanceof List<String>) {
((List<String>) someList).add("");
}
}
言語設計と標準 API には他にどのような例がありますか?