пара сомнений по поводу String в Java - PullRequest
0 голосов
/ 12 ноября 2011
  1. В чем разница между: String a[] и List<String> a?
  2. Правильно ли String a[]? или для определения массива строк мы должны использовать String[] a всегда?
  3. Когда мы объявляем String[] a, нужно ли его инициализировать всегда?

Предположим, я делаю это:

String[] a = new String[5];
a[2] = "Hello";
a[3] = "World";
a[2] = "Good Bye";

Поскольку массив хранится непрерывно в памяти, и когда я изменяю строку, создается новый строковый объект. Как все эти строки хранятся и изменяются в Java для всех приведенных выше операторов?

1 Ответ

2 голосов
/ 12 ноября 2011
  1. String a[] является собственным массивом Java String с. List a является необработанным (нетипизированным) List (см. Коллекции Java ). Возможно, вам нужна обобщенная версия: List<String> a. Здесь слишком много различий, чтобы перечислять их; Вы должны перейти по этой ссылке!
  2. String a[] и String[] a эквивалентны. String[] a это соглашение, хотя.
  3. String[] a на самом деле ссылка. Если это нелокальная переменная, она будет неявно инициализирована на null, если вы не инициализируете ее явно. Вы обычно хотите сделать что-то вроде String[] a = new String[10];.
  4. Каждый элемент массива является ссылкой на String; сами базовые данные не хранятся в массиве.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...