Задать вопрос
@Caffeinee

Как передать массив из метода java, а зачем очистить его?

Я беру с базы данных сайта ники пользователей с определенным значением и заменяю значение, чтобы больше не брать эти-же ники. Вношу их в массив и передаю его через return основному классу. А после передачи мне нужно очистить массив, чтобы в следующий раз снова не передать эти-же ники. Для теста написал вот это, но он просто выдает список из null.
public class sql {
	public static String[] get_names() {
		
	String[] name = new String[] {"caf","caf1","caf2","caf3"};
	String[] name_return = name;
 for(int i =0; i < name.length; i++) {
		  name[i] = null; }
	return name_return;}}
Как мне передать массив из метода, а потом его очистить ?
  • Вопрос задан
  • 1286 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Во первых, в java нет понятия "очищения" элементарного массива. Но можно очистить список типа List (Vector, Arralist и т.д.).
Во вторых, не пойму, зачем вообще что-то чистить, в яве прекрасный автоматический сборщик мусора, чем мы все и гордимся.
В третьих - передавать массив так и нужно, просто возвращая его имя в return
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@WerkEng
В Вашем примере всё, что находится внутри метода get_names, будет удалено после его выполнения (в том числе массив, который Вы там создаёте и возвращаете). И так будет происходить каждый раз, когда Вы вызываете этот метод.
Чтобы постоянно держать массив и работать с ним, Вам нужно где-то объявить этот массив (например, в классе Sql), а у Вас там только метод.
И как уже написали выше, массив - не лучшее решение в данном случае, т.к. он создаётся с определённым размером, и дальше Вы уже не сможете изменить этот размер. Используйте вместо массива List. Тогда можно будет менять размер, наполнять и "очищать" содержимое.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы