10
Окт
2017

Как обратится к элементу массива объектов?

Есть файл формата: aaa;bbb;16.36;: aaa;bbb;52.54;:

Разбивается на строки, разделителем :, далее разбивается на три строки разделителем ;.

На основе этих данных пытаюсь создать объекты. Они помещаются в массив.

    package com.company;

public class Converter {

    public BillingObject[] toObject() throws Exception{

        ReadFile readFile = new ReadFile();
        String[] lines = readFile.GetLines(); // Массив строк
        BillingObject billingObject[] = new BillingObject[lines.length]; // Создает массив объектов длинной в количество строк в файле

        for (int i = 0; i < lines.length; i++){                         //Проход на каждую строку
            String delims = "[;]";                                      //Разделитель
            String[] result = lines[i].split(delims);                   //Result получает 3 строки
            billingObject[i] = new BillingObject(result[0],result[1],Double.parseDouble(result[2])); //Новый объект в массив; разбитая строка передается конструктору
            //System.out.println(result[0] + " " + result[1] + " " + result[2]);
            //System.out.println(billingObject[i].getCode());
            //System.out.println(billingObject[i].getName());
            //System.out.println(billingObject[i].getPrice());

        }
        return billingObject; //Возвращается массив объектов
    }

В результате имеем массив объектов billingObject.

Не могу понять, как теперь работать с этими объектами из main или другого класса и как обращаться к значениям переменных и функциям типа getPrice имея массив?

    package com.company;

import javax.lang.model.type.ArrayType;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Objects;

public class Main {

    public static void main(String[] args) throws Exception {


       Converter converter = new Converter();

       Object[] arr = converter.toObject();


       System.out.println(arr[0]); // Выдает ссылку com.company.BillingObject@1b6d3586
       System.out.println(arr[1]); // Выдает ссылку com.company.BillingObject@4554617c


    }

Источник: https://ru.stackoverflow.com/questions/729093/%D0%9A%D0%B0%D0%BA-%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%B8%D1%82%D1%81%D1%8F-%D0%BA-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D1%83-%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D0%B0-%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2

Share

Тебе может это понравится...