Вы пытаетесь использовать встроенный синтаксис массива инициализатора. Это не работает в классах контейнеров (если только не существует какого-то нового способа поиска в C#), вам нужно использовать details.add() (или соответствующую функцию-член).
Синтаксис, который вы пытаетесь использовать, относится к типам жестких кабелей с поддержкой языка. В C++ это будет выглядеть как char x[6] = {'h','e','l','l','o'};
. Однако контейнер не является массивом его контейнерного объекта. Контейнерные объекты часто имитируют массивы путем перегрузки operator[]
, однако они используют разные структуры данных за кулисами - т. Е. Они не используют смежные области памяти.
p.s. Если бы это было C# .NET - изначально я предполагал - существует новый механизм для сопоставления инициализации массива с созданием объекта контейнера. Я оставлю это для всех, кого это интересует.
C# 3.5 в использовании array initializer syntax вы можете сделать следующее:
public void addContact()
{
ArrayList<String> details = new ArrayList<String>()
{
details.get(txtname(0)),
details.get(txtnum(1)),
details.get(txtmob(2)),
details.get(txtadd1(3))
}
}
Должен любить Microsoft и C#: P
Расскажите подробнее. Совсем не понятно, с чего вы начинаете, чего, как вы надеетесь, заканчиваете, или конечной целью. –
Так в чем вопрос? – notnoop
Вот базовый учебник по Java: http://java.sun.com/docs/books/tutorial/java/index.html. Вот учебник по сборкам Java: http://java.sun.com/docs/books/tutorial/collections/index.html. Это вам действительно нужно. – BalusC