Comment retourner un tableau d'objets dans java?Comment retourner un tableau d'objets dans java?
Répondre
public Object[] myMethod() {
Object[] objectArray = new Object[3];
return objectArray;
}
Assez simple, vraiment.
Eh bien, vous ne pouvez réellement retourner qu'un tableau de références aux objets - aucune expression en Java n'évalue réellement aux objets eux-mêmes. Cela dit, retournant un tableau de références d'objets est facile:
public Object[] yourMethod()
{
Object[] array = new Object[10];
// Fill array
return array;
}
(Pour être tout à fait pédant à ce sujet, vous retournez une référence à un tableau de références d'objets.)
Retour d'un Le tableau d'objets a été expliqué ci-dessus, mais dans la plupart des cas vous n'avez pas besoin de le faire. Passez simplement votre tableau d'objets à la méthode, modifiez-le et il reflètera de l'endroit appelé. Il n'y a pas de valeur de passage en Java.
Il n'y a pas de passage par * référence * en Java. * Tout * est passé en valeur, y compris les références. –
De toute façon, ce genre de modification est considéré comme une mauvaise pratique, je sais que c'est la chose de facto en C et beaucoup de programmeurs C++ le font aussi mais non, c'est Java, différents paradigmes, différentes bonnes pratiques . – Esko
@Jon Skeet: Désolé ma mauvaise! C'est ce que je voulais dire! @Esko: Est-ce vrai? C'est comme ça que j'ai vu la plupart des endroits supposés être la meilleure pratique! Il est temps d'y retourner et de vérifier! –
Essayez l'exemple suivant,
public class array
{
public static void main(String[] args)
{
Date[] a = new Date [i];
a[0] = new Date(2, "January", 2005);
a[1] = new Date(3, "February", 2005);
a[2] = new Date(21, "March", 2005);
a[3] = new Date(28, "April", 2005);
for (int i = a.length - 1; i >= 0; i--)
{
a.printDate();
}
}
}
class Date
{
int day;
String month;
int year;
Date(int d, String m, int y)
{
day = d;
month = m;
year = y;
}
public void printDate()
{
System.out.println(a[i]);
}
}
réponses posté plus tôt permet de résoudre votre problème tout à fait ... si juste pour l'amour d'un autre choix .. Je vous suggère d'utiliser List
: peut être ArrayList<Object>
il pourrait aller en tant que:
public List<Object> getListOfObjects() {
List<Object> arrayList = new ArrayList<Object>();
// do some work
return arrayList;
}
Bonne chance;
Pas de vote de ma part parce que vous ne devriez pas vraiment retourner une implémentation de List spécifiée, à moins que cette implémentation ne rende une garantie primordiale à votre interface. –
@Tim: Je suis tellement désolé mais je suis incapable de comprendre votre point de vue. Est-ce que je manque quelque chose? – RubyDubee
La collection, l'ensemble, la liste d'interfaces Java, etc ... offrent chacun certaines garanties, telles que l'ordre de traversée ou la limitation de la duplication. Vous spécifiez une API publique qui renvoie spécifiquement une ArrayList, mais il n'y a aucune raison pour laquelle cette API publique doit être une ArrayList et pas seulement une List. Que se passe-t-il si l'implémentation de votre méthode est bâclée et pourrait grandement bénéficier de l'utilisation de certaines implémentations List autres que ArrayList?Les futurs responsables de votre code ne pourraient pas simplement brancher une autre implémentation de List car ils sont forcés de respecter le contrat de renvoi d'une ArrayList. –
Quelle est la structure de données que vous avez?
- Si c'est un tableau - il suffit de le retourner.
- S'il s'agit d'un Collection - utilisez
toArray()
(ou de préférencetoArray(T[] a)
).
essayer cette
public ArrayList<ObjectsType> fName(){
ArrayList<ObjectsType>objectsList=new ArrayList<>();
objectList.add(objets);
return objectList;
}
- 1. Comment retourner un tableau de chaînes 2D dans Java?
- 2. Comment retourner un tableau de JNI à Java?
- 3. Comment retourner un tableau d'une fonction?
- 4. comment puis-je retourner un tableau
- 5. retourner un tableau associatif php javascript tableau
- 6. Façon correcte de retourner un tableau
- 7. Comment retourner un tableau d'objets .NET via une méthode COM
- 8. Lors de la création d'un JavascriptConverter, comment retourner un tableau?
- 9. Comment retourner un tableau bidimensionnel C# à VBScript
- 10. Comment passer et retourner un tableau à la procédure stockée?
- 11. Comment retourner un tableau de chaînes en utilisant Pinvoke
- 12. Comment puis-je retourner un tableau spécifique en utilisant un index dans un tableau multidimensionnel dans .NET?
- 13. actionscript 3: retourner un tableau dans une classe
- 14. objectif tableau d'index retourner c
- 15. Comment puis-je retourner un pointeur sur un élément dans un tableau de structures?
- 16. Java: Lecture d'un fichier dans un tableau
- 17. Java - Comment donner un tableau méthode
- 18. Comment retourner 2 valeurs d'une méthode Java?
- 19. java rafraîchit un tableau dans jList
- 20. lettres de comptage dans un tableau (java)
- 21. Comment encapsuler un tableau en Java
- 22. Java: Comment "rogner" un tableau d'octets?
- 23. Comment retourner un tableau d'octets dans un fichier et l'ouvrir automatiquement avec C#?
- 24. Comment puis-je retourner un tableau à partir d'une fonction dans un ASP classique?
- 25. Comment retourner un tableau avec les lettres initiales de tous les objets d'un autre tableau?
- 26. Comment décompresser un tableau d'octets en Java
- 27. Dans VBA, comment retourner un tableau/ou écrire dans des cellules en utilisant une fonction?
- 28. Java: Comment initialiser un tableau en Java sur une ligne?
- 29. Prototype $$ renvoie tableau, devrait retourner un élément comme $
- 30. comment retourner un script dans c/gcc?
Que voulez-vous dire par retour? – pkananen
@peter je suppose que le retour n'a qu'une signification en programmation. c'est-à-dire retourner une valeur à partir d'une fonction. Voulez-vous ajouter une autre personne à la liste? Je plaisante: D – RubyDubee
Je suppose que je n'ai pas vu ce qui serait difficile sur le rendement réel. L'instanciation, peut-être. – pkananen