2016-03-23 6 views
0

So im Grunde habe ich derzeit ein Problem mit meinem Programm, wo ich eine Array-Liste von Objekten erstellen möchte und die Werte vom Benutzer, ich habe noch nicht darüber nachgedacht, wie das geht.Erstellen eines Arrays von Objekten mit Werten von Benutzer in Java

In meiner Hauptklasse habe ich diese Attribute erstellt.

Und in der games.java Klasse verwendete ich ähnliche Attribute für den Empfang von Daten.

games.java

public List<Games> getTitles() { 
    return titles; 
} 


public void setTitles(List<Games> titles) { 
    this.titles = titles; 
} 

würde ich games.add(gameTitle); verwenden, um Werte zu setzen, aber es würde mir 2 Fehler geben.

Einer von ihnen würde mir sagen, dass incompatible types: String cannot be converted into Games, wenn ich die Verwendung games.add(1, gamesTitle);

Der nächste würde mir sagen

method collection.Add(Games) is not applicable, String cannot be converted to Games. 

Was ich versuche die Benutzer Werte von GameID bekommen zu tun ist, und Spiel Title, in eine ArrayList, die diese Daten dann als Argumente an Klassen sendet und sie in eine Datenbank legt.

Dies ist ein Java Persistence API-Projekt, an dem ich arbeite, und jede Hilfe wäre willkommen. Danke

Games.java Klasse

@Entity (name = "Games") 
public class Games implements Serializable { 
@Id 
private int id; 
private String title; 
private String genre; 

@ManyToOne 
@JoinColumn(name="GamesComp") 

private Company comp_Name; 


public int getId() { 
    return id; 
} 


public void setId(int id) { 
    this.id = id; 
} 


public String getTitle() { 
    return title; 
} 


public void setTitle(String title) { 
    this.title = title; 
} 


public String getGenre() { 
    return genre; 
} 


public void setGenre(String genre) { 
    this.genre = genre; 
} 


public Company getComp_Name() { 
    return comp_Name; 
} 


public void setComp_Name(Company comp_Name) { 
    this.comp_Name = comp_Name; 
} 

@Override 
public String toString() { 
    return "Game ID: " + getId() + " Title: " + getTitle() + 
      " with " + getGenre(); 
} 

Firma Klasse

@Entity 
@Table (name="Company") 
public class Company implements Serializable { 
@Id 
private int id; 
private String compName; 
@OneToMany(cascade = ALL, mappedBy="comp") 

private List<Games> titles; 

public Company() { 
    titles = new ArrayList<>(); 
} 


public int getId() { 
    return id; 
} 


public void setId(int id) { 
    this.id = id; 
} 


public String getCompName() { 
    return compName; 
} 


public void setCompName(String compName) { 
    this.compName = compName; 
} 

public void addGameTitles(Games t) { 
    this.titles.add(t); 
    t.setComp_Name(this); 

} 


public List<Games> getTitles() { 
    return titles; 
} 


public void setTitles(List<Games> titles) { 
    this.titles = titles; 
} 

@Override 
public String toString() { 
    return "Company ID: " + getId() + 
      ", Company Name: " + getCompName(); 
}  
+0

können Sie bitte ein bisschen mehr Code hinzufügen, müssen wir sehen, was machst du da ... hast du eine Klasse Spiele du nicht ?? –

+0

Ich kann es jetzt für Sie hinzufügen – Kujinn

+0

Ich habe auch eine Unternehmensklasse, die Werte von der Arraylist Spiele – Kujinn

Antwort

0

Die Frage ist: Sie versuchen, ein String-Objekt in eine Liste der Spiele Objekte einfügen ...

ersetzen Sie diese List<Games> games = new ArrayList<Games>();

dafür:

List<String> games = new ArrayList<String>(); 

Sie könnten natürlich definieren die Spiele Klasse wie

class Games{ 
... 
Games(String gameTitle){ 
} 

und einige, wo im Code hinzufügen Spiele in die Liste der Spiele:

games.add(new Games("CallOfDuty")); 

imho, die letzte Option ist eleganter und reflektiert ein besseres Entwurfsmodell.

aber Sie haben die Freiheit von ch oice.

+0

nimmt Danke, ich werde es versuchen – Kujinn

Verwandte Themen