Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Java Valori di ritorno

  1. #1

    Java Valori di ritorno

    Salve, volevo sapere se qualcuno di vuoi conosceva un modo per riuscire a effettuare una sorta di "overloading" per quanto riguarda i tipi di return. Cioè quello che vorrei, è un modo per riuscire a dichiarare un metodo generale che riesca a gestire diversi tipi di valori di ritorno.
    Grazie.

    PS
    In alternativa conoscete un modo per passare da un tipo Object ad un tipo boolean??

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Re: Java Valori di ritorno

    Originariamente inviato da laguna86
    Salve, volevo sapere se qualcuno di vuoi conosceva un modo per riuscire a effettuare una sorta di "overloading" per quanto riguarda i tipi di return. Cioè quello che vorrei, è un modo per riuscire a dichiarare un metodo generale che riesca a gestire diversi tipi di valori di ritorno.
    Grazie.

    PS
    In alternativa conoscete un modo per passare da un tipo Object ad un tipo boolean??
    No.
    L'overloading può essere fatto solamente variando almeno uno fra
    il tipo dei parametri
    il numero dei parametri.

    Il valore di ritorno non è un discriminante valido per l'overloading.

    Quello che puoi fare, invece, è utilizzare l'ereditarietà.

    Quindi, dichiarare che un metodo ritorna Object e, successivamente, effettuare il cast al tipo di oggetto che ci si aspetta di trovare (tenendo presente eventuali ClassCastException):

    codice:
    public Object metodo( ... ) {
       Object ret = null;
       ...
       switch( qualcosa ) {
          case 0: ret = new Boolean( valoreBooleano ); break;
          case 1: ret = new Integer( valoreIntero ); break;
          ...
       }
    
       return ret
    }
    Tutti i tipi primitivi, hanno un loro wrapper Object:

    boolean -> Boolean
    int -> Integer
    float -> Float
    long -> Long
    short -> Short
    double -> Double
    char -> Character
    byte -> Byte

    Per tornare ad avere il valore primitivo, ciascuna delle classi sopra ha i suoi metodi:

    Integer -> int --> tuoInteger.intValue();
    Double -> double --> tuoDouble.doubleValue();
    ecc...


    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

  3. #3
    Ah, grazie mille, ci provo e vi faccio sapere

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.