2012-05-04 4 views
0

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

+1

смотреть [Java Tutorials - Массивы] (http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html) и [Коллекция] (http://docs.oracle. com/javase/tutorial/collections/index.html) – Jesper

+0

Если вы не ** должны использовать ** массивы, вы можете использовать списки, которые проще в использовании. – assylias

+0

№. в массив есть только способ. String [] obj = new String [size]; obj [0] = "ваша строка"; Есть много коллекций, в которых вы можете хранить свои строки. – Blackbelt

ответ

1

Предполагая, у вас есть что-то вроде этого

public class MyClass { 
    public String one; 
    public String two; 
    public String three; 
    public String four; 

    public MyClass(String one, String two, String three, String four) { 
    this.one = one; 
    this.two = two; 
    this.three = three; 
    this.four = four; 
    } 
} 

вы можете хранить экземпляр этого класса в массиве:

MyClass[] myClasses = {new MyClass("one", "two", "three", "four")}; 
System.out.println(myClasses[0].one); // will print "one" 

Существует несколько способов создания массива (o Строки F) и чтобы установить значения:

1.

String[] strings = new String[3]; 
strings[0] = "one"; 
strings[1] = "two"; 
strings[2] = "three"; 

2.

String[] strings = new String[]{"one", "two", "three"}; 

3.

String[] strings = {"one", "two", "three"}; 
+0

Я узнал об этом некоторое время назад, я не думаю, что он может решить то, что я хочу или намерен. Я рассматриваю класс объекта с переменными Strings. Хранится в массив. –

+0

Класс 'Object' не имеет полей для хранения строк. Это довольно непонятно, чего вы хотите достичь. Каково ваше определение класса объектов *? Вам нужен массив строк как поле или массив этого * класса объекта *? –

+0

Спасибо большое! Получил этот метод, чтобы работать красиво !! Спасибо чувак! –

0
Object[] myObjectArray=new Object[numberOfObjects]; 
myObjectArray[0]=objectToStore; 

и так далее

+0

Конвенция должна иметь переменные, начинающиеся с небольшой шапки. – assylias

+0

, и вы забыли новое ключевое слово – Blackbelt

+0

Я тоже так подумал, увидев ответы выше. –

2

Эта линия шаги, может быть полезным для вас ..

В случае массива вы можете хранить только один тип данных,

Object[] myObjectArray = Object[NumberOfObjects]; 
myObjectArray[0] = new Object(); 

Если вы говорите об объекте Струнный, то вы можете сохранить свой объект String, также.

String[] myStringArray = String[NumberOfObjects]; 
myStringArray[0] = new String(); 

or 

String[] myStringArray = String[NumberOfObjects]; 
myStringArray[0] = "Your String"; 

Здесь вы можете сохранить строковый объект Sting без использования оператора.

+0

Это может выглядеть как ответ для меня. Скажите, будет ли это работать, если бы я создал «Object Class» с 4 строковыми переменными, каждый со своими значениями. Хранить его в ** индексе массива **? –

1

Лучший способ использования списка, это интерфейс коллекции. мы не храним объекты, мы храним ссылки (адреса памяти) объектов. и использование концепции генериков дают большую производительность.

Ex: 

List<String> references = new ArrayList<String>(); 
List<OurOwnClass> references = new ArrayList<OurOwnClass>(); 
+0

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

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