Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [Java] problema con ArrayList

    ciao ragazzi !

    ho un problema su cui sto sbattendo la testa da stamattina !

    ho un oggetto del tipo:

    codice:
     
    ArrayList<Movimenti> listamov;
    dove Movimenti e un vettore da me creato :

    codice:
    public class Movimenti {
    	public int Causale;
    	public String Codmat;
    	public int Hmat;
    	public int Ml;
    	public int Bobine;
    	public int Commessa;
    	public int Mq;
    	public String Data;
    	public String Categoria;
    }
    caricando i dati dal database cosi :

    codice:
    ArrayList<Movimenti> listmov = new  ArrayList<Movimenti>();
    Movimenti mov;
    
    while(rs.next()){
    	mov=new Movimenti();
    	mov.Codmat=rs.getString(1);
    	mov.Hmat=rs.getInt(2);
    	mov.Ml=rs.getInt(3);
    	mov.Categoria=rs.getString(4);
    	listmov.add(mov);
    }
    ora perchè questo if non mi funziona e mi porta sempre nel else anche quando la categoria e "MP" ?

    codice:
          for(int i=0;i<mov.size();i++){
    	String xx = ""+mov.get(i).Categoria.toString();
                System.out.println(mov.get(i).Categoria);
    	if(xx=="MP"){
    		System.out.println("ok funziona");
    	}else{
                 	System.out.println("dentro2 "+mov.get(i).Categoria);
    	}
          }
    sicuramente sarà una sciocchezza ma non mi viene.

    grazi per le risposte.

  2. #2
    sarà una questione di riferimenti !!! ciao

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Perchè le stringhe sono oggetti e gli oggetti non si confrontano con l'operatore ==, ma con il metodo equals().

    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

  4. #4
    Si , ma in fase di stampa print() mi da errore sull' equals ?

    codice:
    if(xx.equals("MP"))
    come posso fare !!

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Eh?
    "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

  6. #6
    si si , utilizzo tale codice nel metodo che implementa Printable, se aggiungo un try catch nel metodo , mi si blocca proprio li e mi stampa la pagina a meta fino a quel punto.
    Un casino !!

    errore nullpointerexception

  7. #7
    ciao ho risolto!

    in questo modo:

    codice:
    while(rs.next()){
    	Movimenti mov=new Movimenti();
    	mov.Codmat=rs.getString(1);
    	mov.Hmat=rs.getInt(2);
    	mov.Ml=rs.getInt(3);
    	mov.Categoria=rs.getString(4);
    	mov.Commessa=commessa;
    	listmov.add(mov);
    }
    E' un problema di allocazione dell'oggetto mov.

    ciao grazie lo stesso

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.