Cześć,
Jestem nowy w swiecie Javy, ale napotkałem przeszkode, ktora powoduje, ze po wywołaniu instancji klasy dla danej metody otrzymuje liste obiektów w formie:
[com.company.Produkty@74a14482, com.company.Produkty@1540e19d, com.company.Produkty@677327b6]
Oczywiscie znalazłem obejscie, przez iteracje listy za pomocą ForEach +x.getNazwaPola w metodzie utworzonej w klasie Dane, ale chcialbym zeby to zostalo rozwiązane przez interface(spotkalem sie z taka implementacja w Springu-warstwy danych?) Zdaje sobie sprawe na hejt, ale tak jak pisalem na początku - dopiero co zaczynam przygode z java.
public class Main {
public static void main(String[] args) {
Tablice xxS = new Dane();
System.out.println(xxS.getAllData()); > co wyrzuci [com.company.Produkty@74a14482, com.company.Produkty@1540e19d, com.company.Produkty@677327b6]
}
}
public class Dane implements Tablice{
List<Produkty> listOfProd = new ArrayList<Produkty>();
public Dane(){
Produkty p1 = new Produkty("Szalas","SASZ",150);
Produkty p2 = new Produkty("Nowik","ULELE",150);
Produkty p3 = new Produkty("SAPER","PIONKI",150);
listOfProd.add(p1);
listOfProd.add(p2);
listOfProd.add(p3);
}
public List<Produkty> getAllData(){
for (Produkty x:listOfProd) {
System.out.println(x.getName() + "," + x.getCity() + "," + x.getPrice() + ".");
}
return listOfProd;
}
}
public class Produkty {
private String name;
private String city;
private double price;
public Produkty(String name, String city,double price){
this.name = name;
this.city=city;
this.price =price;
}
public String getName() {
return name;
}
public String getCity() {
return city;
}
public double getPrice() {
return price;
}
}
public interface Tablice {
List<Produkty> getAllData();
}
Dziękuje za pomoc i wyrozumiałość:)