Ich habe 2 Klassen-Dateien in meinem einfachen Projekt - Entschuldigung ein anderes Newbee hier!Zugriff auf Methode in Arraylist Klasse aus anderen Klassen in Java
Aber ich bekomme einen Kompilierungsfehler im letzten Teil, wo ich versuche, die hoffentlich gespeicherten Konfigurationseinstellungen aus einer Datei für mein Projekt zu drucken, auf die während des gesamten Projekts verwiesen wird. Die Datei ist nur Reihen von Werten wie dieser 'ButtonConfig, 8, V, NULL, bunny, mpg'
Ich möchte im Grunde in der Lage sein, den Inhalt dieser Arraylist zu verwenden, um die Konfiguration eines Raspberry PI dynamisch einzurichten GPO-Pins dh für die oben genannten Werte Button an GPO Pin 8 wird Video (V) "< .. anderer Wert ...> _ bunny.mpg"
Jede Hilfe sehr geschätzt - nur sagen mir, warum ich nicht kann Zugriff auf die getExtension-Methode wäre nett!
Inhalt der ersten Java-Datei ist -
package bpunit;
public class ButtonConfig {
private String keyword;
private String gponumber;
private String buttontype;
private String language;
private String filename;
private String extension;
public String getKeyword() {
return keyword;
}
public void setKeyword(String keyword) {
this.keyword = keyword;
}
...............
public String getExtension() {
return extension;
}
public void setExtension(String extension) {
this.extension = extension;
}
}
Die zweite enthält diese -
package bpunit;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Read_ini {
public void Read_ini_toObject()
{
String csvFileToRead = "configs/BPUnit.properties";
BufferedReader br = null;
String line;
String splitBy = ",";
List buttonList = new ArrayList();
try {
br = new BufferedReader(new FileReader(csvFileToRead));
while ((line = br.readLine()) != null) {
// split on comma(',')
String[] buttonconfig = line.split(splitBy);
// create button object to store values
ButtonConfig buttonObject = new ButtonConfig();
// add values from csv to car object
buttonObject.setKeyword(buttonconfig[0]);
buttonObject.setGponumber(buttonconfig[1]);
buttonObject.setButtontype(buttonconfig[2]);
buttonObject.setLanguage(buttonconfig[3]);
buttonObject.setFilename(buttonconfig[4]);
buttonObject.setExtension(buttonconfig[5]);
// adding button object to a list
buttonList.add(buttonObject);
}
// print values stored in buttonList
printButtonList(buttonList);
} catch (FileNotFoundException e) {
System.out.print(e);
} catch (IOException e) {
System.out.print(e);
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
System.out.print(e);
}
}
}
}
public void printButtonList(List buttonListToPrint) {
for (int i = 0; i < buttonListToPrint.size(); i++) {
// THE LINE BELOW FAILS - getExtension() does not exist
// and all other attempts give me pointer references
//instead of the text //
System.out.println(buttonListToPrint.get(i).getExtension());
}
}
}
ändern 'Liste buttonList = new Arraylist();' auf 'List buttonList = new Arraylist ();' und auch in 'printButtonList' Meth od, das Argument sollte 'List buttonListToPrint' sein. –
SomeDude
@svasa Ab Java 7 müssen Sie den generischen Typ auf dem RHS bei der Initialisierung nicht angeben. – user1803551
Danke svasa und alle anderen. Arbeitete einen Traum und half mir, es besser zu verstehen. – osmanager