2010-07-12 13 views
0

J'ai obtenu un tableau flottant coincé à l'intérieur d'une ArrayList. l'arraylist contient un booléen et le tableau float mentionné ci-dessus. mon code courrent pour le sortir (ce qui ne fonctionne pas) est
Comment obtenez-vous un float [] sur une ArrayList en Java?

(float)((Float)((Number)(DXY.get(0)); 

Je préférerais ne pas avoir à changer les choses à l'intérieur, mais si cela est absolument nécessaire que je pouvais passer le booléenne comme 1 dans un tableau flottant simple.

ArrayList est transmis à partir d'une méthode d'une autre classe dont le type de retour est déclaré ArrayList.

Merci d'avance.

Ceci est affiché à partir d'un compte temporaire.

+0

Ceci est un commentaire temporaire :-) –

+0

vous réalisez que vous lancez le même objet trois fois avec l'instruction ci-dessus? comme quelqu'un mentionné ci-dessous (float []) DXY.get (0) – Matt

Répondre

2

Un tableau de flotteur est un objet de sorte que vous pouvez simplement jeter que:

float[] floatArray = (float[])DXY.get(0); 
2

ArrayList contient une valeur booléenne et le tableau flottant susmentionné

Je pense que vous avez vraiment vraiment vraiment envie de repenser cela. Vous demandez des ennuis. Même sans génériques faisant des collections hétérogènes était une mauvaise idée. Une collection ne doit stocker que des types similaires (de préférence tout de même, mais parent/enfant fonctionne aussi).

Essentiellement si vous ne pouvez pas déclarer votre ArrayList comme quelque chose comme:

List<Foo> list; 

list = new ArrayList<Foo>(); 

alors vous faites votre vie beaucoup plus difficile que vous avez besoin.

Ce que vous devriez vraiment avoir est quelque chose comme:

public class Bar 
{ 
    private final boolean bool; 
    private final float[] array; 

    ... 
} 

et ont le retour de méthode au lieu de ArrayList.

Une fois, j'ai travaillé dans une entreprise qui a fait quelque chose comme avoir un certain nombre de méthodes prennent tous Map<String, Object> où la chaîne était le nom du paramètre et l'objet était la valeur. Ils l'ont fait afin qu'ils puissent rendre les méthodes plus "dynamiques" (par exemple, ils ne voulaient pas avoir à réparer les choses s'ils changeaient le # ou le type de paramètres). Heureusement, j'avais déjà quitté l'entreprise et je ne l'ai vu qu'en en-tête d'un ami ... sinon, j'aurais démissionné sur-le-champ.