Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517

    JAVA problemi con Object [][]

    Salve ragazzi, ho un problema (o meglio non ci arrivo concettualmente).

    ho una variabile di tipo Object [][]

    private Object[][] data;

    nel momento in cui la vado a inizializzare in maniera statica faccio cosi:

    codice:
    private Object[][] data = {
            {"dati", "dati"},
            {"dati", "dati"},
            {"dati", "dati"}
            };
    fin qui nessun problema , il problema sorge quando la devo inizializzare dinamicamente ovvero ho un metodo che mi ritorna un VECTOR<oggetto> e vorrei inserire ogni valore dell'oggetto che corrisponde a dati come posso fare?

    spero di essermi espresso bene

  2. #2
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    vorrei inserire ogni valore dell'oggetto che corrisponde a dati
    Questo mi è particolarmente oscuro...
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: JAVA problemi con Object [][]

    Originariamente inviato da il pupo
    il problema sorge quando la devo inizializzare dinamicamente ovvero ho un metodo che mi ritorna un VECTOR<oggetto> e vorrei inserire ogni valore dell'oggetto che corrisponde a dati come posso fare?
    Immagino che questo "oggetto" abbia diverse proprietà che tuoi vuoi inserire come elementi in una riga dell'array, giusto?
    Cioè se fossero oggetti Persona con proprietà nome e cognome, tu vorresti fare N righe in cui ognuna contiene:
    { ilNome, ilCognome }

    Se è così, per ogni oggetto istanzi l'array della riga (devi specificare il numero di elementi ... ma li sai a priori dal numero di proprietà), popoli l'array e poi aggiungi il reference nell'array principale all'indice i-esimo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517
    giustissimo andbin.

    però non ho capito questo :
    ma li sai a priori dal numero di proprietà), popoli l'array e poi aggiungi il reference nell'array principale all'indice i-esimo.

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da il pupo
    giustissimo andbin.

    però non ho capito questo :
    ma li sai a priori dal numero di proprietà), popoli l'array e poi aggiungi il reference nell'array principale all'indice i-esimo.
    Esempio:
    codice:
    Vector<Persona> vec = ........ // da dove non importa
    
    Object[][] arr = new Object[vec.size()][];   // La seconda dimensione qui non è indicata!
    
    for (int i = 0; i < vec.size(); i++) {
        Persona p = vec.get(i);
    
        arr[i] = new Object[] { p.getNome(), p.getCognome() };
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517
    grazie mille andbin, funziona

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517
    andbin, scusa se approffitto della tua bontà

    perchè se aggiungo un controllo stupido cioè:

    codice:
    for (int i = 0; i < vetDiInfoReFi.size(); i++) {
    	    	     informazioni = vetDiInfoReFi.get(i);
                    if((!informazioni.getSigarette().equals("") && !informazioni.getConfezione().equals("") && !informazioni.getEuroconfezione().equals("")) || (!informazioni.getSigarette().equals("Denominazione commerciale") && !informazioni.getConfezione().equals("Tipo di confezione") && !informazioni.getEuroconfezione().equals("Prezzo per confezione (€)") )){
                    	arr[i] = new Object[] { informazioni.getSigarette(), informazioni.getConfezione(),informazioni.getEuroconfezione() };
                    }
                    }
    mi da errore di java.lang.NullPointerException in questo metodo:

    codice:
    public Object getValueAt(int row, int col) {
                return data[row][col];
            }
    ?

  8. #8
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Ma se il controllo i-esimo fallisce, arr[i] resta a null oppure lo valorizzi in altro modo?
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517
    resta a null

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    L'eccezione sollevata è molto semplice: hai un reference su null. Quindi non inizializzi qualcosa...

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.