-1
votes

Comment créer un constructeur qui prend un paramètre de tableau et initialiser les valeurs dans une matrice sous-jacente?

Comment créer un constructeur qui prend un paramètre de tableau et initialiser les valeurs dans un tableau sous-jacent en Java?

Le constructeur devrait le faire de telle sorte que lorsque je l'appelle en principal, le transmettez-le comme un paramètre, le L'objet initialisé qui est émis par le constructeur est identique à celui du paramètre de tableau. xxx

attendu: xxx

réel: Je reçois un index hors des limites comme myarray n'a jamais été initialisé après avoir passé Art via myClass constructeur.

J'ai essayé plusieurs combinaisons dans myClass constructeur mais n'a pas été en mesure d'initialiser le tableau sous-jacent myARRAY avec succès.


4 commentaires

Comment impression () ressemble à


Si on rend une hypothèse raisonnable de ce que impression est, cela fonctionne simplement bien.


"réel: je reçois une exception d'index hors limites alors que Myarray n'a jamais été initialisée après avoir passé un arrêté à travers MyClass Constructor." non, si myARRAY était ininitialisé, vous ne seriez pas Un indexporofboundsException , vous obtiendrez une erreur de compilation (ou en fonction de votre définition de "nonInialisé", un nullpointeexception ). Non, il apparaît que dans Imprimer , vous sortez des limites.


C'est plus ou moins ce que Josh Bloch discute en Java efficace, se référer à Information .Com / Articles / Article.aspx? p = 2861454 & SEQNUM = 4 .


3 Réponses :


0
votes

Le code fonctionne juste bien. Vérifiez votre impression () méthode. Cela fonctionne pour moi. XXX


0 commentaires

2
votes

Le code fonctionne, mais il n'y a pas besoin de génériques dans votre cas xxx


0 commentaires

-1
votes

Merci tout le monde, la raison pour laquelle mon code n'a pas fonctionné était dû à une variable supplémentaire que je n'ai pas défini (non inclus dans l'extrait) dans le cadre de l'initialisation du constructeur. Cela explique l'exception indexOutOfbounds que j'ai eu la taille était toujours 0.

excuses pour avoir soulevé une question avec des informations incomplètes. Le code fonctionne bien dans l'extrait de l'extrémité ci-dessus. Mérité le bowvote. Merci encore.


0 commentaires