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

    Problema con java.lang.NullPointerException

    Buongiorno a tutti,
    ho il seguente problema, non riesco a capire perchè rivevo l'errore:

    la riga dove ricevo l'errore è in neretto

    (this.senderPerson.setName(sender.getName()); )

    il codice dell'errore è nell'oggetto del thread

    la situazione è la seguente:
    nel main

    dichiaro:

    codice:
    Person sender, receiver;
    // imposto i valori degli oggetti sender e receiver
    // creo l'oggetto newBooking
    newBooking = new Booking(sender, receiver, pack);
    ora la classe Person è definita come segue:

    codice:
    public class Person implements PersonInterface {
    	private String name;
    	private String address;
    	private String city;
    
    	/**
    	 * Metodo costruttore con parametri
    	 * @param name - name and surname
    	 * @param addess - address
    	 * @param city - city
    	 */
    	public Person(String name, String address, String city) {
    		this.name = name;
    		this.address = address;
    		this.city = city;
    	}
    
    	
    	@Override
    	public void setName(String name) {
    		this.name = name;
    	}
    
           @Override
    	public String getName() {
    		return this.name;
    	}
    }
    la classe Booking :

    codice:
    public class Booking implements BookingInterface {
    	private Person senderPerson;
            public Booking(Person sender, Person receiver,Packages packages){
    		System.out.println(sender.getName());
    		this.senderPerson.setName(sender.getName()); 
            }
    }
    grazie a tutti per la risposta

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Usa i tag code per il codice, cosi non è molto leggibile.
    NullPoinerException: niente di più parlante, qualcosa nella riga in esame vale null e tu provi a farci su delle operazioni.
    codice:
    this.senderPerson.setName(sender.getName());
    analizza tutto punto per punto.
    sender.getName() restituisce null? poi

    codice:
    public class Booking implements BookingInterface {
    private Person senderPerson;
    public Booking(Person sender, Person receiver,Packages packages){
    System.out.println(sender.getName());
    this.senderPerson.setName(sender.getName()); 
    }
    }
    nel costruttore non hai inizializzato Person prima di usarlo.

    Fai le classi che abbiano un costruttore vuoto, in modo da poterlo inizializzare coi valori di default quando lo dichiari (ed evitare mal di testa con nullpointerexceptions)
    RTFM Read That F*** Manual!!!

  3. #3
    problema risolto

    grazie

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.