Альтернатива ключевого слова ref в Java

Нужно адаптировать метод из C# для Java. Как можно заменить ключевое слово ref в данной ситуации?

static void Change(int width, int height, int Xl, int Yl, int Xr, int Yr, ref int[,] aMatrix)
        {
            for (int i = 0; i < width; i++)
            {
                for (int j = 0; j < height; j++)
                {
                    aMatrix[Xr + j, Yr + i] = aMatrix[Xl - j, Yl + (width - i) - 1];
                    
                }
            }
        }

Ответы (2 шт):

Автор решения: Aziz Umarov

Такой альтернативы нет в java. Но вам никто не запрещает возращать значения из функции. Собственно передавайте параметр и получайте результат из функции изменив, создав или ещё чего сделав со значениями. Ведь основная идея передачи ссылки это его изменение. Изменяйте и возвращайте в ответе, а его в свою очередь присваивайте.

→ Ссылка
Автор решения: Yakov

в Java сложные объекты ( классы / массивы (примитивов) ) передаются всегда по ссылке. так что метод может выглядеть примерно так.

public class Test
{
    static void Change(int width, int height, int Xl, int Yl, int Xr, int Yr, int[][] aMatrix)
    {
        for (int i = 0; i < width; i++)
        {
            for (int j = 0; j < height; j++)
            {
                aMatrix[Xr + j][ Yr + i] = aMatrix[Xl - j][ Yl + (width - i) - 1];
            }
        }
    }

    public static void main(String[] args) {
        int[][] matrix = new int[][]{{1,2,3}, {3,4,5}, {4,5,6}};
        Change(2,2,1,1,1,1, matrix);
        for(int[] raw: matrix)
        for(int value: raw )
        System.out.println(value);
    }
}
→ Ссылка