Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [Java] Classi Wrapper

  1. #1

    Classi Wrapper

    Sto studiando il java e mi sono imbattuto in questo capitolo che parla delle classi wrapper. Vorrei sapere se il programmatore può crearsi le proprie classi wrapper o se esistono solo per i dati primitivi (e quindi sono classi native del java: Integer, Double, Boolean, etc..).

    Se si possono creare, come si fa?

    grazie

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

    Re: Classi Wrapper

    Originariamente inviato da Lotti
    Sto studiando il java e mi sono imbattuto in questo capitolo che parla delle classi wrapper. Vorrei sapere se il programmatore può crearsi le proprie classi wrapper o se esistono solo per i dati primitivi (e quindi sono classi native del java: Integer, Double, Boolean, etc..).
    Il termine "wrapper" in informatica è abbastanza generico e con significato ampio, in inglese 'to wrap' vuol dire "avvolgere", "imballare" ...

    Le classi Integer, Double, ecc... sono dei wrapper in quanto "avvolgono" un tipo primitivo dentro un oggetto. Tali classi sono, tra l'altro, trattate in modo automatico e "speciale" quando si usa il boxing/unboxing.

    Nulla ti vieta di creare una tua classe MioIntero che contiene un int e che si comporta, più o meno, all'incirca come Integer. Ma non sarebbe trattata dal linguaggio allo stesso livello di Integer. Queste classi sono appunto "I" wrapper dei tipi primitivi semplicemente perché sono state definite dalla Sun per fare da contenitori dei tipi primitivi fin dall'inizio di Java.

    In generale si è liberi di creare dei "wrapper" per qualunque cosa si voglia. In quel senso il termine "wrapper" è proprio solo un inglobare qualcosa dentro un'altra cosa. Per esempio la Java Sound API (per il suono) è abbastanza complessa, nulla vieta di creare un wrapper per semplificarne l'utilizzo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    quindi la risposta definitiva è: tutto è un wrapper, ma solo quelli del java hanno l'autoboxing, nelle tue classi non puoi usarlo.

    giusto?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Lotti
    solo quelli del java hanno l'autoboxing, nelle tue classi non puoi usarlo.
    Esatto, solo Integer, Short, Long ecc... sono trattati in modo "speciale" per il boxing/unboxing.
    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.