Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    323

    [java] Riprendere array

    Ciao,
    in una classe ho un array.

    Ora, questo array mi serve in un'altra classe.
    Ho provato a fare

    Classearray cl = new Classearray();

    e a riprenderlo con cl.array[0][0];

    Ma mi dice not a statement.

    L'array è di tipo public static.
    someone told me
    love would all save us
    but how can that be
    look what love gave us

  2. #2
    Supponendo che tu abbia un'array di Stringhe devi fare
    Classearray cl = new Classearray();

    String[] arr = cl.arr;

    cl.arr[0][0] fa riferimento alla posizione 0,0 di un array bidimensionale,

    se hai bisogno di un'array bidimensionale allora:

    String[][] arr = cl.arr;

    ovviamente String lo devi sostituire con il tipo di oggetto di cui hai bisogno

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    La soluzione non è una sola, ma ce ne sono diverse: la cosa migliore, secondo me, è quella di utilizzare un metodo apposito per la restituzione dell'array e non utilizzare membri pubblici e statici (comportano seri problemi in caso di revisioni successive). Lo si fa in questo modo (suppongo, anch'io, che l'array sia di Stringhe, poco importa il tipo):
    codice:
    class Classearray {
       ...
       private String[][] mioArray;  // Da qualche parte lo istanzi e lo inizializzi
    
       public String[][] getArray() { return mioArray; }
       ...
    }
    In questo modo puoi utilizzarlo, in modo molto semplice, così:
    codice:
    Classearray cl = new Classearray();
    
    // Voglio scrivere "Ciao" in mioArray[2][2]:
    ( cl.getArray() )[2][2] = "Ciao";
    Oppure, puoi recuperarne una copia e salvartela nella seconda classe:
    codice:
    Classearray cl = new Classearray();
    String [][] copia = cl.getArray();
    
    // Ora utilizzo "copia", dato che è lo stesso array
    copia[2][2] = "Ciao";
    Un'altra soluzione consisteva nel rendere pubblico l'array (non statico) in modo da poterlo indirizzare come se fosse un membro qualsiasi della classe, ma questa è una cosa che non è bella stilisticamente.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.