java.lang.ArrayStoreException

Status
Nicht offen für weitere Antworten.

rogi1

Mitglied
Hi
Code:
                    Object[][] erg = new Object[zw.length][10];
                    .....

                    .....
                    String str[] = erg[i-2][j].toString().split("=");
                    str[1] = new String(str[1].toString().trim());

                    if(str[1].equals("no")){
                               erg[i-2][j] = new Boolean(false);  
                    }
                    else if(str[1].equals("yes")){
                              erg[i-2][j] = new Boolean(true);   
                    }
                    else{
                               erg[i-2][j] = str[1];
                    }
Gibt folgenden Fehler:

erg[i-2][j] = new Boolean(....); <-- java.lang.ArrayStoreException

Weis jemand warum??
 
S

SlaterB

Gast
API:
public class ArrayStoreException
extends RuntimeException

Thrown to indicate that an attempt has been made to store the wrong type of object into an array of objects. For example, the following code generates an ArrayStoreException:

Object x[] = new String[3];
x[0] = new Integer(0);

-----------------

wichtig sind manchmal auch die .. Zeilen..

wenn ich mich an die vorherigen Threads erinnere
(schreib doch einfach alles in "rogis Fragen-Thread" statt für jedes Problem einen neuen zu eröffnen ;) )
dann nehme ich stark an dass du du irgendwo

erg = irgendein String[];

ausgeführt hast,

nun ist also erg ein String[] und da kannst du logischerweise keinen Boolean einfügen


testen kannst du dass durch eine Ausgabe:

System.out.println(erg[i-2].getClass());

Ausgabe "class [Ljava.lang.String;" -> String[]
Ausgabe "class [Ljava.lang.Object;" -> Object[]


------------

dann ist es vielleicht doch besser den Vorschlag von HeyMan zu folgen, und die Strings einzeln in das Object[] einzufügen
Code:
Object[][]  erg = new Object[zw.length];
for (int i=0;i<zw.length;i++) {
    String[] tmp  = (zw[i].split("\n\r"));
    erg[i] = new Object[temp.length];
    for (int j=0; j<tmp.length) {
       erg[i][j]       = tmp[j];
    }        
}

wenn die Strings im Object[] drin sind, kannst du sie ohne Probleme durch Boolean-Objeke ersetzen
 

rogi1

Mitglied
...wenn die Strings im Object[] drin sind, kannst du sie ohne Probleme durch Boolean-Objeke ersetzen
Kannst du mir das bitte genauer erklären??
Wird mit:
Code:
 x[0] = new Integer(0);
kein neues Objekt erstellt und auf x[0] geschrieben? Wie ersetz ich dass dann??
bekomm ich mit new Integer(0); kein Objekt???
lg

Code:
Object[][] data = {
    {"Mary", "Campione",
     "Snowboarding", new Integer(5), new Boolean(false)},
    {"Alison", "Huml",
     "Rowing", new Integer(3), new Boolean(true)},
    {"Kathy", "Walrath",
     "Knitting", new Integer(2), new Boolean(false)},
    {"Sharon", "Zakhour",
     "Speed reading", new Integer(20), new Boolean(true)},
    {"Philip", "Milne",
     "Pool", new Integer(10), new Boolean(false)}
};
Wiren hier nicht auch verschiedene Datentypen einem Object zugewiesen???? Dann dürfte das ja nicht funktionieren.... tuts aber(beispielcode aus Internet...)

new Boolean(false) dürfte hier ein Object sein... oder??
 
S

SlaterB

Gast
rogi1 hat gesagt.:
...wenn die Strings im Object[] drin sind, kannst du sie ohne Probleme durch Boolean-Objeke ersetzen
Kannst du mir das bitte genauer erklären??
Wird mit:
Code:
 x[0] = new Integer(0);
kein neues Objekt erstellt und auf x[0] geschrieben? Wie ersetz ich dass dann??
bekomm ich mit new Integer(0); kein Objekt???
lg
keine Ahnung wovon du redest, Integer(0) ist auch ein Objekt, ja,
wie und warum du das ersetzen willst?, keine Ahnung

mit Ersetzen meinte ich deinen Code
erg[i-2][j] ist ein String, den liest du aus und willst am Ende ein Boolean an die gleiche Stelle schreiben
(erg[i-2][j]),
genau an die gleiche Position, daher "ersetzen",
das geht nur wenn an diese Position (erg[i-2][j]) ein beliebiges Objekt stehen darf, in einem Object[][] kein Problem,
bei dir schon, daher nehme ich an dass erg[i-2] kein Object[] ist sondern ein String[],

wie man das nachprüfen kann habe ich schon geschrieben, hast du aber ignoriert.. ;)

----------------------------------


erg ist ein Object[][]
damit ist erg[0] ein Object[]

es ist doch nun nur noch die Frage ob erg[0] wirklich genau ein Object[] ist mit Strings drin ist
(siehe Ende meines vorherigen Postes wie man das macht!)
oder ob erg[0] nicht eher ein String[] mit Strings drin ist,

beides ist erlaubt (ein String[] ist ja ein Object[]) aber im String[] kann man keine Boolean reintun während ein Object[] natürlich Boolean aufnehmen kann




[qutoe]
[..]
Wiren hier nicht auch verschiedene Datentypen einem Object zugewiesen???? Dann dürfte das ja nicht funktionieren.... tuts aber(beispielcode aus Internet...)

new Boolean(false) dürfte hier ein Object sein... oder??[/quote]
weiß nicht was du meinst, einem Objekt werden nicht verschiedene Datentypen zugewiesen,

in ein Object[] werden Objekte verschiedenen Typs hineingelegt, das ist Problem, denn sie sind ja alle Objekte und das Array setzt nur voraus dass alle Insassen Objekte sein müssen, klappt also

-----------------

das Problem ist doch ganz einfach:

Code:
Object[] a = null;

// 1. a = new String[2];
// 2. a = new Object[2];

a[0] = "test";
a[1] = new Boolean(false);

egal welche der beiden ausgeklammerten Zeilen verwendet wird, der Kompliler wird alles ok finden,
selbst wenn keine der beiden Zeilen ausgeführt wird ;)

wenn keine ausgeführt wird ist a null und es gibt zur Laufzeit ne NullPointerException,
wenn 1. ausgeführt wird gibts bei der Boolean-Zuweisung die ArrayStoreException
wenn dagegen 2. ausgeführt wird ist alles in Ordnung denn beide Objekte können in dem Object[] gespeichert werden
 
B

bygones

Gast
so am Rande:

NIEMALS new Boolean() nutzen !!! Man sollte sich über Boolean.TRUE bzw Boolean.FALSE die entsprechende werte holen !
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Rookar java.lang.NoClassDefFoundError: org/json/JSONException Java Basics - Anfänger-Themen 2
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
JaVaN0oB java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 18
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
D java.lang.NullPointerException Java Basics - Anfänger-Themen 19
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
H JUnit in Eclipse: java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 9
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
B java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 3
P java.lang.ClassCastException Bedeutung und Lösung Java Basics - Anfänger-Themen 3
J Erste Schritte java.lang.NoClassDefFoundError Java Basics - Anfänger-Themen 4
I java.lang.ArrayIndexOutOfBoundsException at lösung.main Java Basics - Anfänger-Themen 3
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
T Compiler-Fehler java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 2
R java.lang.ArrayIndexOutOfBoundsException: 0 Rechner Error Java Basics - Anfänger-Themen 4
D Erste Schritte Java.lang.NullPointer.Exception Java Basics - Anfänger-Themen 8
H java.lang.NullPointerException Java Basics - Anfänger-Themen 4
G java.lang.NullPointerException Java Basics - Anfänger-Themen 3
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
N jodaTime java.lang.IllegalArgumentException: Invalid format Java Basics - Anfänger-Themen 3
E Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 2
F Erste Schritte java.lang.StringIndexOutOfBoundsException Java Basics - Anfänger-Themen 3
J java.lang.NullPointerException in meiner JavaFXControllerKlasse Java Basics - Anfänger-Themen 26
R java.lang.StringIndexOutOfBoundsException Java Basics - Anfänger-Themen 1
D Communications link failure | java.lang.NullPointerException Java Basics - Anfänger-Themen 3
V java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 2
H java.lang.NoClassDefFoundError Run as>> Run on Server Java Basics - Anfänger-Themen 2
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
S Java memory fehler: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa Java Basics - Anfänger-Themen 5
M java.lang.Enum.valueOf(Unknown Source) Java Basics - Anfänger-Themen 2
L Compiler-Fehler Problem beim Programmieren eines Kalenders (java.lang.ArrayIndexOutOfBoundsException) Java Basics - Anfänger-Themen 2
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
P Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 1
C Hilfe!!! java.lang.ClassCastException Java Basics - Anfänger-Themen 1
O java.lang.IndexOutOfBoundsException JTable autoSort Java Basics - Anfänger-Themen 5
M Compiler-Fehler Java suckt - java.lang.NullPointerException Java Basics - Anfänger-Themen 12
W Methoden Rückgabedatentyp java.util.Map<java.lang.String,? extends ...> Java Basics - Anfänger-Themen 4
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
F Exception in thread main java.lang.StackOverflowError Java Basics - Anfänger-Themen 3
K Caused by: java.lang.NoClassDefFoundError: org/mindrot/jbcrypt/BCrypt Java Basics - Anfänger-Themen 0
S java.lang.NullPointerException Java Basics - Anfänger-Themen 4
G Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 4
OnDemand java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 9
A Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 7
J Klassen java.lang.String - lexikographisches Sortieren Java Basics - Anfänger-Themen 5
P Interpreter-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 3
T Erste Schritte import java.lang.System.out Java Basics - Anfänger-Themen 4
T Problem mit Eclipse? Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 4
H Classpath java.lang.NoClassDefFoundError externe Libary Java Basics - Anfänger-Themen 4
M Exception in thread "main" java.lang.NoClassDefFoundError: MeineKlasse Java Basics - Anfänger-Themen 12
X Applet Fehler: java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 45
B java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
K Date cannot be cast to java.lang.Integer Java Basics - Anfänger-Themen 4
H java.lang.IndexOutOfBoundsException bei verschachtelter ArrayList Java Basics - Anfänger-Themen 9
S Fehler: "java.lang.NullPointerException" Java Basics - Anfänger-Themen 6
V java.lang.NoSuchMethodError Java Basics - Anfänger-Themen 2
J java.lang.math asin() Java Basics - Anfänger-Themen 18
I Erste Schritte Ausführfehler: java.lang.NullPointerException Java Basics - Anfänger-Themen 3
R Compiler-Fehler java.lang.ArrayIndexOutOfBoundsException, warum? Java Basics - Anfänger-Themen 6
K Error: java.lang.NoSuchMethodException Java Basics - Anfänger-Themen 2
M Compiler-Fehler Fehler Meldung java.lang.NumberFormatException: empty String Java Basics - Anfänger-Themen 2
G java.lang.ClassNotFoundException Java Basics - Anfänger-Themen 4
1 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException Java Basics - Anfänger-Themen 5
S Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 11
S String index out of range: 8 at java.lang.String.substring(Unknown Source) Java Basics - Anfänger-Themen 13
V [Greenfoot] java.lang.NullPointerException Java Basics - Anfänger-Themen 12
S Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 10
X Interpreter-Fehler "java.lang.NullPionterException: null" bei BlueJ Java Basics - Anfänger-Themen 10
P java.lang.ClassCastException Java Basics - Anfänger-Themen 2
D java.lang.NoSuchMethodError: main Java Basics - Anfänger-Themen 11
S expected java.lang.string but found char Java Basics - Anfänger-Themen 5
S Umgebungsvariable Exception in thread "main" java.lang.UnsatisfiedLinkError: no J3D in java.librar y.path Java Basics - Anfänger-Themen 15
S Compiler-Fehler java.lang.SecurityException: Invalid signature file digest for Manifest main attributes Java Basics - Anfänger-Themen 5
M Klassen Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 2
A Compiler-Fehler unreported exception java.lang.Exception; must be caught or declared to be thrown Java Basics - Anfänger-Themen 7
K Fehlermeldung: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 Java Basics - Anfänger-Themen 4
M Datentypen java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String; Java Basics - Anfänger-Themen 11
J java.lang.NullPointerException Java Basics - Anfänger-Themen 18
K Interpreter-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 6
F Ich kenn mich nicht mehr aus - 'java.lang.NoSuchMethodError: main' in Applet? Java Basics - Anfänger-Themen 2
K OOP java.lang.NullPointerException Java Basics - Anfänger-Themen 2
N iText PDF Fehler, java.lang.ClassNotFoundException: com.lowagie.text.Phrase Java Basics - Anfänger-Themen 7
M java.lang.NumberFormatException-Problem Java Basics - Anfänger-Themen 6
H java.lang.NoSuchMethodError: Java Basics - Anfänger-Themen 5
J java.lang.UnsatisfiedLinkError: Java Basics - Anfänger-Themen 9
T List in java.lang.Object... einfügen Java Basics - Anfänger-Themen 12
M java.lang.StringTokenizer Java Basics - Anfänger-Themen 4
I java.lang.String cannot be cast to OBJEKT Java Basics - Anfänger-Themen 8
P java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory Java Basics - Anfänger-Themen 1
Y java.lang.NoSuchMethodError: main Java Basics - Anfänger-Themen 9
B Exception in thread "main" java.lang.NullPointerException Fehler Hilfe! Java Basics - Anfänger-Themen 4
D java.lang.outofmemoryerror java heap space bei Hashtable Java Basics - Anfänger-Themen 3
Spin Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: data must Java Basics - Anfänger-Themen 10
S Fehlermeldung: java.lang.NullPointerException Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben