Fehler bei Array.getDouble mit Double[] als Argument!

  • Themenstarter generalofthefelixlegions
  • Beginndatum
Status
Nicht offen für weitere Antworten.
G

generalofthefelixlegions

Gast
Hi Leute.

Nachdem Java ja nicht selbst ein Double[] in double[] konvertiert muss ich's selber machen. Dabei bin ich aber auf folgendes Problem gestoßen:
Code:
import java.lang.reflect.Array;

public class Dummy {

	public static void main(String[] args) throws Exception 
	{
		Double[] ds = new Double[] {new Double(3.14159), new Double(3.14159) };
		int len = Array.getLength(ds);
		for(int i = 0; i < len; i++)
			System.out.println(Array.getDouble(ds, i));
	}
}
erzeugt eine Exception
Code:
Exception in thread "main" java.lang.IllegalArgumentException: Argument is not an array
	at java.lang.reflect.Array.getDouble(Native Method)
Hab ich da was missverstanden? In der Api-Doc steht, dass IAE nur kommt wenn
IllegalArgumentException - If the specified object is not an array, or if the indexed element cannot be converted to the return type by an identity or widening conversion


Daniel
 
V

Vayu

Gast
Code:
double[] ds = new double[] {3.14159, 3.14159 };
int len = Array.getLength(ds);
for(int i = 0; i < len; i++)
    System.out.println(Array.getDouble(ds, i));

das funktioniert. mir scheint der kommt mit den Double Objekten nicht klar, aber dann wäre die Exception ne falsche.

wieso gehst du eigentlich den Umweg über die Array-Klasse und machst nicht

Code:
Double[] ds = new Double[] {new Double(3.14159), new Double(3.14159) };
int len = ds.length;
for(int i = 0; i < len; i++)
    System.out.println(ds[i]);
 
G

generalofthefelixlegions

Gast
Der Code ist Teil einer Methode die ein Double, Integer etc. Array bekommt und daraus ein double, int etc. Array macht. Also zum Beispiel so was hier:
Code:
@SuppressWarnings("unchecked")
	public static Object convertToPrimitiveArray(Object srcArray)
	{
		if(!srcArray.getClass().isArray())
			return null;
		Class clazz = getClass(srcArray);
		int len = Array.getLength(srcArray);
		Object dstArray = Array.newInstance(clazz.getComponentType(), len);
		if(clazz.equals(boolean[].class))
		{
			for(int i = 0; i < len; i++)
				Array.setBoolean(dstArray, i, Array.getBoolean(srcArray, i));
		} else if(clazz.equals(double[].class)) {
			for(int i = 0; i < len; i++)
				Array.setDouble(dstArray, i, Array.getDouble(srcArray, i));
		} else if(clazz.equals(float[].class)) {
			for(int i = 0; i < len; i++)
				Array.setFloat(dstArray, i, Array.getFloat(srcArray, i));
		} else if(clazz.equals(int[].class)) {
			for(int i = 0; i < len; i++)
				Array.setInt(dstArray, i, Array.getInt(srcArray, i));
		} else if(clazz.equals(long[].class)) {
			for(int i = 0; i < len; i++)
				Array.setLong(dstArray, i, Array.getLong(srcArray, i));
		} else {
			return null;
		}
		
		return dstArray;
	}
Darum der "Umweg" über Array.getXXX()


Daniel
 
G

generalofthefelixlegions

Gast
*freu* So geht's:
Code:
@SuppressWarnings("unchecked")
	public static Object convertToPrimitiveArray(Object srcArray)
	{
		if(!srcArray.getClass().isArray())
			return null;
		Class clazz = getClass(srcArray);
		int len = Array.getLength(srcArray);
		Object dstArray = Array.newInstance(clazz.getComponentType(), len);
		if(clazz.equals(boolean[].class))
		{
			for(int i = 0; i < len; i++)
				Array.setBoolean(dstArray, i, ((Boolean) 
					Array.get(srcArray, i)).booleanValue());
		} else if(clazz.equals(double[].class)) {
			for(int i = 0; i < len; i++)
				Array.setDouble(dstArray, i, ((Double) Array.get(srcArray,
					i)).doubleValue());
		} else if(clazz.equals(float[].class)) {
			for(int i = 0; i < len; i++)
				Array.setFloat(dstArray, i, ((Float) Array.get(srcArray, 
					i)).floatValue());
		} else if(clazz.equals(int[].class)) {
			for(int i = 0; i < len; i++)
				Array.setInt(dstArray, i, ((Integer) Array.get(srcArray,
					i)).intValue());
		} else if(clazz.equals(long[].class)) {
			for(int i = 0; i < len; i++)
				Array.setLong(dstArray, i,((Long) Array.get(srcArray,
					i)).longValue());
		} else {
			return null;
		}
		
		return dstArray;
	}
Noch ein wenig optimieren aber es geht :)

@srea Danke für den Ansatz
@Vayu Ja, die Exception ist falsch formuliert. Da sollte man mal nachbessern...
@Moderator gelöst :)


Daniel
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Array Fehler in Paint-Methode Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
S Fehler: <ID> erwartet Allgemeine Java-Themen 5
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
Pinhg Discord JDA Bot - Fehler Allgemeine Java-Themen 3
KonradN CVE-2022-21449: Fehler in Java bei Signaturprüfung Allgemeine Java-Themen 20
L Fehler mit Boolean. (Glaube ich zumindest) Allgemeine Java-Themen 6
P Selenium Scriipt zeigt Fehler beim Import Allgemeine Java-Themen 3
O Fehler bei Variablen Allgemeine Java-Themen 2
HerrBolte Seltsamer Fehler nur in der Windows- und nicht in der Java-Console O_O Allgemeine Java-Themen 16
M Kein Scanner Fehler durch falsche EIngabe Allgemeine Java-Themen 4
N nicht einsehbarer Fehler im code, kann nicht mehr übersetzten Allgemeine Java-Themen 51
yakazuqi Fehler beim Laden. JDA (Java Discord API) Allgemeine Java-Themen 1
C Fehler bei der Benutzung von itextpdf Allgemeine Java-Themen 1
U Fehler beim Compillieren Allgemeine Java-Themen 13
x46 String Format Fehler Allgemeine Java-Themen 2
bueseb84 Fehler beim Import von Maven Dependencies aus lokalem artifactory Allgemeine Java-Themen 2
MiMa Datei verschieben hat einen Fehler?? Allgemeine Java-Themen 20
O xlsx Datei auslesen mit POI von Apache wirft seltsamen Fehler. Allgemeine Java-Themen 11
T Java-Quiz Code Fehler Allgemeine Java-Themen 10
A Fehler beim Öffnen eines Projekts Allgemeine Java-Themen 6
E Hat der Compiler einen Fehler oder warumbeendet return nicht eine Methode ? Allgemeine Java-Themen 7
T Fehler bei IF abfrage Allgemeine Java-Themen 8
C Fehler beim Debuggen von Listen Allgemeine Java-Themen 4
M Einheitenrechner - Fehler Allgemeine Java-Themen 12
D Erste Schritte Fehler mit negativen und 0 Zahlen im String Allgemeine Java-Themen 6
T Denk-Fehler? Allgemeine Java-Themen 4
A Finde den Fehler nicht. Allgemeine Java-Themen 7
H Class 'java.io.BuferedReader' is not present in JRE Emulation Libary | GWT Fehler?! Allgemeine Java-Themen 0
D Unbekannter Fehler Allgemeine Java-Themen 1
R Fehler im Code Allgemeine Java-Themen 1
R Fehler im Code Allgemeine Java-Themen 3
ReinerCoder Methode einer Klasse meldet Fehler "misplaced construct(s)" Allgemeine Java-Themen 13
R Wo ist mein Fehler in der Methode DRINGEND Allgemeine Java-Themen 9
R Wo ist mein Fehler in diesem Code Allgemeine Java-Themen 7
I Fehler beim Ant-Package erstellen mit Java 9 Allgemeine Java-Themen 1
L Fehler bei der Ausführung einer Jar Allgemeine Java-Themen 2
T OOP Fehler im Design Allgemeine Java-Themen 9
Thallius Unfassbarer Fehler. Brauche Ideen zum Debuggen Allgemeine Java-Themen 9
U Eclipse MANIFEST fehler Allgemeine Java-Themen 7
I Fehler bei HashMaps Darstellung Allgemeine Java-Themen 10
R Classnotfoundexception Fehler Allgemeine Java-Themen 3
A Fehler beim Aktualisieren JTable Allgemeine Java-Themen 1
N Compiler-Fehler Warum erhalte ich einen Nullpointer Fehler? Allgemeine Java-Themen 2
N Prim's Algorithm - wo ist der Fehler? Allgemeine Java-Themen 3
J-Gallus Erste Schritte Wahrscheinlich Anfänger Fehler beim rechnen. Falsches Ergebnis. Allgemeine Java-Themen 9
M Line-Fehler Allgemeine Java-Themen 8
U Input/Output Warum wirft mir das Programm diesen Fehler? Allgemeine Java-Themen 6
RalleYTN Merkwürdiger Fehler mit JFrame im Vollbild Allgemeine Java-Themen 4
V AudioInputStream Fehler Allgemeine Java-Themen 1
J Interpreter-Fehler Fehler beim Verschlüsseln Invalid AES key length Allgemeine Java-Themen 1
G Fehler mit Vector Allgemeine Java-Themen 3
F Java Fehler "buildTableModel" Allgemeine Java-Themen 3
F Fehler in Zeile in Log schreiben Allgemeine Java-Themen 6
DanielsLPecke Input/Output Arduino komischer Fehler. Allgemeine Java-Themen 38
V JavaFX Fehler beim Starten einer Jar Allgemeine Java-Themen 7
S Hashtable Fehler Allgemeine Java-Themen 14
S Zwei String vergleichen, Fehler markieren Allgemeine Java-Themen 3
C Hilfe bei einer Fehler meldung Allgemeine Java-Themen 3
K Was ist mein Fehler? Allgemeine Java-Themen 2
Tausendsassa Compiler-Fehler Fertiges Programm mit Fehler Allgemeine Java-Themen 10
B Eclipse Nach Export einer .jar Fehler: Hauptklasse konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 5
K Fehler beim erstellen von .jar Datei Allgemeine Java-Themen 3
P Java Fehler auf Win2008 Server java.io.FilePermission IE8 Version JRE 1.7.0_51 Allgemeine Java-Themen 7
M Eclipse - Fehler: Hauptklasse de.xyz.init.MeineKlasse konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 2
Seikuassi Swing Stehe auf dem Schlauch...(BufferedReader_Writer-Fehler?) Allgemeine Java-Themen 4
M Eclipse Fehler beim Installieren des Plugins "Jigloo" Allgemeine Java-Themen 12
A Eclipse - Fehler beim "RUN" - "Unable to Launch - The selection cannot be launched" Allgemeine Java-Themen 6
B Fehler bei einem Programm Allgemeine Java-Themen 10
F HILFEEEEEE JAVA Fehler - Tiny Umbrella Allgemeine Java-Themen 1
N JavaFX IndexOutOfBounds-Fehler Allgemeine Java-Themen 11
N GPIB - Fehler: Unable to open device Allgemeine Java-Themen 1
S Ganzes Programm "stucked" - JVM-Fehler? Allgemeine Java-Themen 2
D Variablen Ausgabe bzw. einlese Fehler Allgemeine Java-Themen 7
I Fehler java.lang.NullPointerException Allgemeine Java-Themen 5
B NullPointerException - Aber kein Fehler im Code Allgemeine Java-Themen 4
B Eclipse Fehler in eclipse/Java Allgemeine Java-Themen 13
B Fehler beim Auslesen von Einstellungen. Zwei ähnliche Blöcke, nur eins geht. Allgemeine Java-Themen 5
H JUnit Fehler beim Compilieren - erledigt Allgemeine Java-Themen 0
J Fehler beim parsens eine Datums Allgemeine Java-Themen 3
A Thread Fehler absichtlich provozieren Allgemeine Java-Themen 3
J Compiler-Fehler .nextLine fehler Allgemeine Java-Themen 3
B Fehler im Java-Code Allgemeine Java-Themen 4
S Java Fehler bei Konsolenprogramm Allgemeine Java-Themen 2
N Was ist ein Fehler (Requirement-Engineering) Allgemeine Java-Themen 3
C System.out.print("") Compiler Fehler Allgemeine Java-Themen 2
T Programm bleibt ohne Fehler stehen Allgemeine Java-Themen 4
G Fehler beim instanzieren einer Generischen Klasse Allgemeine Java-Themen 5
K Eclipse Fehler beim Ausführen meines Programms in Eclipse Allgemeine Java-Themen 11
K Input/Output Fehler bei Dateierzeugung Allgemeine Java-Themen 7
M Fehler bei Remoteinstallation von Java Allgemeine Java-Themen 5
M Fehler bei Verwendung von TexturePaint Allgemeine Java-Themen 16
M JUnit & Multithreading - sehr seltener Fehler Allgemeine Java-Themen 3
G Merkwürdiger Fehler NetBeans Allgemeine Java-Themen 2
G Native Library / Fehler beim Laden der .so/.dll Datei Allgemeine Java-Themen 17
P java tabelle auslesen - xls (excel) fehler Allgemeine Java-Themen 5
iB0T Unverständlicher Fehler Allgemeine Java-Themen 5
S Antlr Grammatik übersetzt ohne Fehler, dennoch wird Zahl nicht als Eingabe erkannt Allgemeine Java-Themen 4
S Fehler mit JScrollPane Allgemeine Java-Themen 4
K SimpleDateFormat Fehler Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben