• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Java - ArrayList zwraca adres w pamięci

Object Storage Arubacloud
0 głosów
387 wizyt
pytanie zadane 11 grudnia 2018 w Java przez tiesto.ulic Obywatel (1,010 p.)

Witajcie!

Klasa Car_Zad1, z której są tworzone obiekty.

package Lab5;

public class Car_Zad1 {
	private String make;
	private String model;
	private double cubicCapacity;
	private String type;
	private String engineType;
	private int productionDate;
	private int firstRegistrationDate;
	private double price;
	
	// Settery
	public void setMake(String make) {
		this.make=make;
	}
	
	public void setModel(String model) {
		this.model=model;
	}
	
	public void setCubicCapacity(double cubicCapacity) {
		this.cubicCapacity=cubicCapacity;
	}
	
	public void setType(String type) {
		this.type=type;
	}
	
	public void setEngineType(String engineType) {
		this.engineType=engineType;
	}
	
	public void setProductionDate(int productionDate) {
		this.productionDate=productionDate;
	}
	
	public void setFirstRegistrationDate(int firstRegistrationDate) {
		this.firstRegistrationDate=firstRegistrationDate;
	}
	
	public void setPrice(double price) {
		this.price=price;
	}
	
	
	// Gettery
	public String getMake() {
		return this.make;
	}
	
	public String getModel() {
		return this.model;
	}
	
	public double getCubicCapacity() {
		return this.cubicCapacity;
	}
	
	public String getType() {
		return this.type;
	}
	
	public String getEngineType() {
		return this.engineType;
	}
	
	public int getProductionDate() {
		return this.productionDate;
	}
	
	public int getFirstRegistrationDate(){
		return this.firstRegistrationDate;
	}
	
	public double getPrice() {
		return this.price;
	}
	
	//czy posiada jeszcze gwarancje ZAD2
	public String carHaveGuarantee() {
		if((2018-firstRegistrationDate)>3) {
			return "Auto nie ma gwarancji!";
		} else {
			return "Auto ma gwarancję!";
		}
	}
	
	//konstruktor ZAD3
	public Car_Zad1(String make, String model, double cubicCapacity, String type, String engineType, int productionDate, int firstRegistrationDate, double price) {
		setMake(make);
		setModel(model);
		setCubicCapacity(cubicCapacity);
		setType(type);
		setEngineType(engineType);
		setProductionDate(productionDate);
		setFirstRegistrationDate(firstRegistrationDate);
		setPrice(price);
				
		/*
		System.out.println(this.getMake());
		System.out.println(this.getModel());
		System.out.println(this.getCubicCapacity());
		System.out.println(this.getType());
		System.out.println(this.getEngineType());
		System.out.println(this.getProductionDate());
		System.out.println(this.getFirstRegistrationDate());
		System.out.println(this.getPrice());
		System.out.println(this.carHaveGuarantee());*/
	}
	
	public Car_Zad1() {
		
	}
}


Klasa Autokomis, w której tworzone są obiekty klasy Car_Zad1
 

package Lab5;
import java.util.ArrayList;

public class AutoKomis {
	//stworzyc liste obiektow klasy samochod ;; ArrayList<Samochod> listaSamochodow = new Samochod;
	//dodanie elementu do listy ;; listaSamochodów(new Samochod("Opel", "Astra", ...));
	private ArrayList<Car_Zad1> carList;
	
	public AutoKomis() {
		carList = new ArrayList<Car_Zad1>();
		
		carList.add(new Car_Zad1("Renault", "Clio", 1.6, "Hatchback", "PB + LPG", 2006, 2006, 10000));
		//System.out.println("\r\n");
		carList.add(new Car_Zad1("Volkswagen", "Golf", 1.9, "Kombi", "ON", 2008, 2008, 14000));
		//System.out.println("\r\n");
		carList.add(new Car_Zad1("Ford", "Focus", 2.0, "Hatchback", "PB", 2005, 2006, 9000));
		//System.out.println("\r\n");
		carList.add(new Car_Zad1("Seat", "Leon", 1.6, "Hatchback", "PB + LPG", 2005, 2006, 9000));
		//System.out.println("\r\n");
	}
	
	public ArrayList<Car_Zad1> getList() {
		return this.carList;
	}
	
	public Car_Zad1 getSpecificElement(int number) {
		return carList.get(number);
	}
}

 

Klasa Main, w której próbuję zwrócić ArrayList z klasy Autokomis

package Lab5;

public class Main {
	public static void main(String args[]) {		
		AutoKomis car = new AutoKomis();
		System.out.println(car.getSpecificElement(0));
	}
}


Chcę otrzymać obiekt 0 ArrayList (czyli obiekt klasy Car_Zad1), lecz zamiast tego otrzymuję Lab5.Car_Zad1@15db9742, czyli adres w pamięci, gdzie jest przetrzymywana moja Renówka.

Jak poprawnie zwrócić za pomocą ArrayList przykładowo samą markę, model lub cały obiekt? Uprzedzając pytania, Pan prowadzący zajęcia zażyczył sobie ArrayList. Ktoś przy okazji mógłby wytłumaczyć dlaczego powinienem skorzystać z ArrayList?

1 odpowiedź

+3 głosów
odpowiedź 11 grudnia 2018 przez Mateusz51 Nałogowiec (28,180 p.)
Nie nadpisales metody toString dla car_zad1. To nie winna array list. Nawet jak bys utworzyl goly obiekt to rowniez wyswietlil by Ci sie taki skrót klasy.
komentarz 11 grudnia 2018 przez tiesto.ulic Obywatel (1,010 p.)
Wygląda na to, że mam braki, bo nie wiem jak nadpisać tę metodę albo po prostu nie wiem, co masz na myśli. Naprowadzisz proszę na problem? :)
1
komentarz 12 grudnia 2018 przez miro Pasjonat (23,870 p.)

    @Override
    public String toString() {
        return "Example{" +
            "id=" + getId() +
            ", exampleText='" + getExampleText() + "'" +
            "}";
    }

Zamiast tych geterów użyj własnych. Zobacz czy twoje IDE nie może wygenerować toString()

1
komentarz 12 grudnia 2018 przez Mateusz51 Nałogowiec (28,180 p.)
ToString jest metoda ktora posiada kazdy obiekt i wywolywana jest np gdy korzystasz z println. Zamienia ona obiekt w jego reprezentacje tekstowa. Domyslnie kazda klasa dziedziczy toString po klasie object, ktora to printuje taki krzaczek jak wkleiles.

Komentarz wyzej masz jak nadpisac domyslna reprezentacje swoja

Podobne pytania

+1 głos
1 odpowiedź 529 wizyt
0 głosów
1 odpowiedź 115 wizyt
pytanie zadane 20 grudnia 2020 w Java przez T100 Obywatel (1,450 p.)
0 głosów
2 odpowiedzi 161 wizyt
pytanie zadane 5 grudnia 2020 w Java przez T100 Obywatel (1,450 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...