Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219

    [java]Assegnare dei valori a oggetti non istanziati

    Non capisco perchè se ad esempio dichiaro:

    codice:
    String s="ciao";
    System.out.println(s);
    Il compilatore javac non mi segnala alcun errore e non avviene alcuna eccezione a runtime.
    Ma s è solo un riferimento di tipo String, non c'è alcun oggetto istanziato, dovrei fare:

    codice:
    String s=new String("ciao");
    System.out.println(s);
    Eppure funziona anche se s non è il riferimento a un oggetto istanziato.
    Non capisco il perchè, mi spiegate?

  2. #2

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

    Re: [java]Assegnare dei valori a oggetti non istanziati

    Originariamente inviato da ramy89
    codice:
    String s="ciao";
    System.out.println(s);
    non c'è alcun oggetto istanziato
    Quel "ciao" è un oggetto String (già) istanziato! Le stringhe "literal" (letterali) vengono messe in quello che si chiama "constant pool" e vengono trattate in modo particolare.

    http://java.sun.com/docs/books/jvms/...doc.html#20359
    http://en.wikipedia.org/wiki/Java_cl..._constant_pool
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava 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 © 2025 vBulletin Solutions, Inc. All rights reserved.