Java : CloneNotSupportedException - API使用例
CloneNotSupportedException (Java SE 19 & JDK 19) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様のおともにどうぞ。
概要
CloneNotSupportedException は、Object.clone メソッドによる複製がサポートされていないときに発生するチェック例外です。
clone メソッドによる複製をサポートするには Cloneable を実装する必要があります。
Cloneable を実装しない例です。
record Sample(int num, String str) {
@Override
public Sample clone() throws CloneNotSupportedException {
return (Sample) super.clone();
}
}
try {
final var sample = new Sample(100, "abc");
final var cloned = sample.clone();
System.out.println("Cloned! : " + cloned);
} catch (CloneNotSupportedException e) {
System.out.println("CloneNotSupportedException!");
}
// 結果
// ↓
//CloneNotSupportedException!
Cloneable を実装した例です。
record Sample(int num, String str) implements Cloneable {
@Override
public Sample clone() throws CloneNotSupportedException {
return (Sample) super.clone();
}
}
try {
final var sample = new Sample(100, "abc");
final var cloned = sample.clone();
System.out.println("Cloned! : " + cloned);
} catch (CloneNotSupportedException e) {
System.out.println("CloneNotSupportedException!");
}
// 結果
// ↓
//Cloned! : Sample[num=100, str=abc]
コンストラクタ
CloneNotSupportedException ()
final var e = new CloneNotSupportedException();
System.out.println(e); // java.lang.CloneNotSupportedException
CloneNotSupportedException (String s)
final var e = new CloneNotSupportedException("abcde");
System.out.println(e); // java.lang.CloneNotSupportedException: abcde
System.out.println(e.getMessage()); // abcde
Throwableで宣言されたメソッド
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
「Java API 使用例 : Throwable」をご参照ください。
関連記事
- API 使用例
- Error (エラー)
- Exception (チェック例外)
- RuntimeException (非チェック例外)
- ArithmeticException (算術例外)
- ArrayIndexOutOfBoundsException
- ArrayStoreException
- CancellationException
- ClassCastException (キャスト例外)
- ConcurrentModificationException (並列処理例外)
- DateTimeException (日付・時刻の例外)
- DateTimeParseException (日付・時刻の解析例外)
- IllegalArgumentException
- IllegalStateException
- IndexOutOfBoundsException
- NoSuchElementException
- NullPointerException
- PatternSyntaxException
- StringIndexOutOfBoundsException
- UnsupportedOperationException
- Throwable