2017-02-05 4 views
1

Ich versuche, eine REXP-Ausgabe zu analysieren. Ich habe das Ergebnis in ein Java-Objekt umgewandelt. Allerdings kann ich den Wert im Objekt nicht ermitteln. Das Objekt m enthält:Wie bekomme ich Werte von einem Java-Objekt (REXP-Objekt)?

[1, 1, 3, 1, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3] 
[9.12324245] 
[1212,1234,4343] 
[3.456] 

ich für die weitere Verarbeitung

Jede Hilfe wäre hier wirklich toll diese Werte in ein Array erhalten müssen? Der Code-Snippet ist unten angegeben:

REXP kmv = connection.eval(kmeans); 
HashMap<String, Object> j = (HashMap<String, Object>) kmv.asNativeJavaObject(); 
Set<Entry<String, Object>> set = j.entrySet(); 
Iterator<Entry<String, Object>> i = set.iterator(); 
while(i.hasNext()) { 
    Map.Entry<String, Object> me = (Map.Entry<String, Object>)i.next(); 
    String key = (String) me.getValue(); 
    Object m = (Object)me.getKey();    
} 

Antwort

0

Die Antwort war einfach

   // Back to the basics of decoding an object :) 
      if (m.getClass().isArray()) { 
       if (m instanceof double[]) { 
        value = Arrays.toString((double[])m); 
       } else if (m instanceof int[]) { 
        value = Arrays.toString((int[])m); 
       } 
      } 
Verwandte Themen