throws CloneNotSupportedException を宣言していない clone() メソッドを報告します。
throws CloneNotSupportedException が宣言されていない場合、メソッドのサブクラスは標準的な方法でクローンを禁止できなくなります。 このインスペクションは、final 宣言されている clone() メソッドと
final クラスの clone() メソッドを報告しません。
インスペクションの構成:
このインスペクションに protected clone() メソッドについてのみ警告を表示させるには、「'protected' クローンメソッドについてのみ警告する」オプションを使用します。
Effective Java (第 2 版および第 3 版) では、public メソッドで CloneNotSupportedException の宣言を省略することが推奨されています。チェック例外をスローしないメソッドは使いやすいためです。
例:
public class Example implements Cloneable {
// メソッドは 'throws CloneNotSupportedException' を宣言していません
protected Object clone() {
try {
return super.clone();
} catch (CloneNotSupportedException e) {
return null;
}
}
}