Нужно адаптировать метод из 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];
}
}
}
в 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);
}
}
Такой альтернативы нет в java. Но вам никто не запрещает возращать значения из функции. Собственно передавайте параметр и получайте результат из функции изменив, создав или ещё чего сделав со значениями. Ведь основная идея передачи ссылки это его изменение. Изменяйте и возвращайте в ответе, а его в свою очередь присваивайте.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
В интернете нашёл пример неправильного использования ThreadLocal переменной и внутренних классов
Есть класс MusicPlayer, у него есть поле List<Music> list , где Music - интерфейс с методом скажиСвоюПесню(), который реализуют три класса
Здрaвcтвуйте! Подскажите пожалуйста, как мне сгруппировать recyclerview? Цифры слева на фото -это семестрыХочу сгруппировать по семестрам
Нужно сравнить значения double c помощью ComparatorМой код: