class Main1{
public static void main(String[] args){
int one = 1;
int two = 2;
one_to_two(two);
System.out.print(one + " " + two);
}
public static void one_to_two(int two){
int one = two;
}
}
Хочу, чтобы переменная one приняла значение two в теле не основной функции. В с++ на это есть указатели. А как это сделать в Java?
В Java нет указателей. Такой трюк не получится. Все примитивы можно сказать что дублируются при передаче их в качестве параметров. Они находятся в стэке исполнения и менять их можно только на их уровне стэка
Это можно сделать следующим образом:
class Main1 {
static int one;
public static void main(String[] args){
one = 1;
int two = 2;
one_to_two(two);
System.out.print(one + " " + two);
}
public static void one_to_two(int two){
one = two;
}
}
То есть переменную one
нужно вынести в область видимости, доступную для обоих методов.
Напрямую - никак. Локальные переменные, объявленные в одной функции только в ней и видны, указателей в java нет. Но можно сделать опосредованно.
1) Через массивы
public static void one_to_two(int[] data, int two){
data[0] = two;
}
public static void main(String[] args){
int[] one = new int[0];
int two = 2;
one_to_two(one, two);
System.out.print(one[0] + " " + two);
}
2) Через вспомогательные классы
class Main1{
class DataHolder {
int one;
}
public static void one_to_two(DataHolder data, int two){
int one = two;
}
public static void main(String[] args){
DataHolder data = new DataHolder();
data.one = 1;
int two = 2;
one_to_two(data, two);
System.out.print(data.one + " " + two);
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
В общем, есть фрагмент HomeFragment, который выбирается с помощью BottomNavigationViewВ этом фрагменте есть еще два фрагмента TabLayout\ViewPager фильмы и сериалы
Написал программу которая удаляет определенную строку из файла,но что-то не пашет
у меня есть подключенная таблица из Mysql в проект java, мне нужно вывыести сумму значений в таблице, простым запросом в mysql я бы выполнил "select...