Javaのプリミティブ型のパスバイリファレンス

Java の基本型は値渡しされ、参照渡しされません。つまり、基本型の値をメソッドに渡すと、メソッド側ではその値のコピーを受け取ります。元の値自体は受け取りません。

基本型変数の値をメソッド内で変更して、変更された値をメソッド外で参照したい場合は、ラッパークラスを使用できます。Javaでは、Integer、Doubleなど、各基本型に対してラッパークラスが提供されています。これらのラッパークラスを使用することで、基本型変数の値をオブジェクトとして渡して、その変更をメソッド外に渡すことができます。

Integer ラッパークラスを使っている例を以下に示します。

public class Main {
    public static void main(String[] args) {
        Integer num = 10;
        System.out.println("Before: " + num);
        modifyValue(num);
        System.out.println("After: " + num);
    }
    
    public static void modifyValue(Integer num) {
        num = num + 5;
        System.out.println("Inside method: " + num);
    }
}

文を日本語に言い換えてください。1つだけの選択肢が必要です。出力:

Before: 10
Inside method: 15
After: 10

メソッド内部でnumの値を変更しても、メソッド外部には反映されません。これはIntegerが不変型のため、メソッド内でnumを変更すると、実際には新しいIntegerオブジェクトが作成され、numにはその新しいオブジェクトへの参照が代入されます。元のnumオブジェクトは変更されません。

bannerAds