Object[][] in double[][] casten

Maddili

Mitglied
Hi,

wie kann ich ein zweidimensionales Object (Object data[][]) in double (double[][] data) casten??
Muss ich mit get- und setValueAt eine Schleife durchlaufen?

Das muss doch noch einfacher gehen, oder?

mfg
Martin
 
[removed]

Edit: Habs grad ausgeteset. Klappt zumindst nicht auf diese Weise. Ja, einzeln casten ist wohl der Weg der Wahl.
 
Zuletzt bearbeitet:
Soweit mir bekannt ist, kannst du nur ein einfaches Object in etwas anderes Casten. Wenn du ein Object[][] (-Array) hast, musst du die einzelelemente Casten
 
Und wie setze ich das um?

ich habe es mal in einer Schleife versucht, aber da bekomme ich eine Exception

Java:
	public static double[][] data = null;
        for (int i=0; i<SearchPanelMAauslast.data.length; i++){
        	for (int j=0; j<SearchPanelMAauslast.data.length; j++){
        		String test = SearchPanelMAauslast.data[i][j].toString();
        		double value = Double.parseDouble(test);
        		data[i][j] = value;
        	}        	
        }
 
Du kannst die Exception durch eine Änderung im Quellcode verhindern. Wenn du sagst, welche Exception, sage ich dir, welche Änderung.
 
1. Sollte es in der zweiten for-Schliefe nicht

for (int j=0; j<SearchPanelMAauslast.data.length; j++){

heissen?

2. Der Aufruf von

data[j].toString();

wird nicht derefenziert werden können, wenn data wie angenommen ein double[][]-Array ist.

3. Minimalbeispiel um ein Array zu casten:

Java:
public static void main(String[] args) {
    Object[][] o = ...
    double[][] d = new double[...][...];
    for(int i = 0; i < d.length; ++i) {
      for(int j = 0; j < d[i].length; ++j) {
        d[i][j] = (Double) o[i][j];
        System.out.println(d[i][j]);
      }
    }
 
Ich habe da eine ergänzende Frage.

Falls ich etwas, zum Beispiel eine cast-Methode, ganz allgemein programmieren möchte, habe ich die hier erklärte Möglichkeit um einen Array mit variabler Dimenson zu allozieren.

Aber kann ich die Dimension eines bestehenden Arrays abfragen oder muss ich mich mit der an anderer Stelle erwähnten isArray - Methode durchtasten?

EDIT:
Da geht aber etwas gewaltig schief mit isArray() ....... Ich mach einen neuen Trhead dazu auf ...
 
Zuletzt bearbeitet:

Zurück
Oben