2014-09-18 7 views
1

Пусть у меня есть следующее полеПрисвоить 2-мерный массив с 1-одномерный массив - простой способ

private String[] myString; 

и позже в заполнении кода этот массив со значениями из другого массива

String[] s = {"x", "y", "z"}; 

myString = s; 

Да - это было очень легко. Нет необходимости выделять память новому оператору и задавать длину заранее. Но теперь - скажем, что myString имеет два измерения:

private String[][] myString; 

И я хочу назначить s MyString. Возможно ли это сделать аналогичным образом - другими словами - без выделения памяти и петли через массивы.

(Там должен быть только один столбец в MyString [] [] - это потому, что конструктор в другой класс требует, чтобы)

+0

'{{" a "," b "}, {" c "," d "}}' не работает? Я подумал, что нужно. – Fildor

ответ

0

В Java, двумерный массив это просто массив массивов. Таким образом, вы можете сделать что-то вроде этого

String[][] myString = {{"x", "y", "z"}}; 
0

Когда вы объявляете переменную вместе с инициализацией, вы можете использовать фигурные скобки, подобные вашему примеру 1D массив. Единственное отличие состоит в том, что вы можете вложить скобки для нескольких измерений.

private String[][] myString = {{"one"}, {"two"}, {"three"}}; 
1

Да - вы можете иметь литералы два (или три, или десять, по этому вопросу) одномерные массивы:

String[][] myString = { {"a", "b", "c"}, {"x", "y", "z"} }; 
0

Простыми словами private String[][] myString это 2D массив, и вы должны определить некоторые строки и столбца для назначения строк. Это было бы полезно private String[][] myString={s};

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