class Pair<A,B> {
final A first;
final B sec;
Pair(A f, B s){
this.first = f;
this.sec = s;
}
}
AとBが不変タイプであることを確認する方法はありますか?
いいえ。タイプを不変であると識別する方法はなく、バインドされていることは言うまでもありません。
Serializable
不変クラスを識別するためにプロジェクトで使用されるマーカー インターフェイス (メソッドのないインターフェイス) を作成し、チームにそれを順守させることができます。
例えば:
interface Immutable {}
class Pair<A extends Immutable, B extends Immutable> {
}
いいえ。実際、この言語には概念や「可変」または「不変」型はまったくありません。「不変」とは、内部状態を変更できるメソッドやパブリック フィールドを提供しない型を説明するために使用する用語です。それ以外は、「可変」型と「不変」型の動作に違いはありません。