2015-03-31 2 views
-1

Я пытаюсь инициализировать массив строк тремя пустыми строками в методе static void. Затем я делаю копию этого string array в другом методе static String[].Инициализация объекта в методе и создание его копии другим способом

Я пробовал несколько способов сделать это, но каков наилучший способ сделать это?

public static void createEmptyStrings() { 
     String[] str = new String[]{"", "", ""}; 
} 

public static String[] copyStrings() { 
// return an empty string 
} 
+4

Показать ваши попытки наряду с проблемами вы столкнулись. – Tarik

+0

Зачем делать копию массива, заполненную пустыми строками? Просто создайте новый: 'new String [] {" "," "," "}'. Пустой экземпляр строки будет использоваться повторно. –

+0

Логика заключается в том, что я должен поместить метод в цикл и инициализировать строки каждый раз. –

ответ

0

Вы могли бы сделать что-то вроде этого:

public static String[] getStrings(){ 
    String[] strings = {"", "", ""}; 
    return strings 
} 

public static String[] copyStrings(String[] stringArray){ 
    return stringArray.clone(); 
} 

// Sample Usage 
String[] originalStrings = getStrings(); 
String[] copiedStrings = copyStrings(originalStrings); 

Метод .clone() очень полезно в Java, чтобы создать копию объекта, а не просто ссылаться на него, как много людей, случайно сделать.

Если вы хотите массив иметь 3 слота, которые пусты, вместо того, чтобы быть заполнены «», чем изменение второй линии для:

public String[] strings = new String[3]; 
+0

, но мне нужно, чтобы первая часть инициализации была в статическом методе void, так как мне нужно было бы называть ее несколько раз –

+0

@thecoder Я сделал так –

+0

@thecoder Это сработало? –

Смежные вопросы