Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    51

    Creazione dinamica di oggetti

    Salve,
    è possibile in Java creare oggetti in runtime? Mi spiego devo riempire un vettore del tipo:
    Vector<Point> vek= new Vector<Point>(); con degli oggetti Point.
    codice:
    ...
        private Point nuPt;
        private Vector vek;
        public NewClass() {
            Point nuPt=new Point(0,0);
            Vector<Point> vek=new Vector<Point>();       
            for(int i=0; i<3;i++){
                nuPt.x=i*10; nuPt.y=0;
                vek.add(nuPt);
            }
        }

    Capite che così facendo io mi ritrovo nel vettore tre oggetti, meglio dire tre volte lo stesso oggetto Point, o se volete tre riferimenti allo stesso ed unico oggetto Point. Oltretutto aventi il valore dell'ultima impostazione data dal ciclo for. Bisognerebbe invece per ogni ciclo for creare un nuovo oggetto Point, inizializzarlo ed aggiungerlo al vettore, in modo tale che alla fine mi ritroverei tre distinti oggetti Point con tre diversi valori. Ma come fare. Ad esempio in PHP questo era possibile.
    In Java?
    Forse c'è un altro modo per ottenere il risultato voluto ma mi sfugge.
    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    51
    Scusate la cosa era banale. che figura! bastava fare così: vek.add(new Point(nuPt.x,nuPt.y));

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da cersil Visualizza il messaggio
    bastava fare così: vek.add(new Point(nuPt.x,nuPt.y));
    Sì esatto, devi creare un nuovo oggetto Point ad ogni ciclo ... non cambiare lo "stato" di uno esistente.
    Quando ci sono queste questioni, chiediti sempre: QUANTI new Xyz() sto facendo?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

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 © 2024 vBulletin Solutions, Inc. All rights reserved.