Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Girvy
    Registrato dal
    May 2007
    Messaggi
    43

    Da Calendar a String

    Salve a tutti ennesimo problema...:-)
    Questa è la mia funzione:
    public Object transform(Object target) {}
    dovrebbe fare una conversione da Date ad object...come fare?

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

    Re: Da Calendar a String

    Originariamente inviato da Girvy
    Salve a tutti ennesimo problema...:-)
    Questa è la mia funzione:
    public Object transform(Object target) {}
    dovrebbe fare una conversione da Date ad object...come fare?
    A ridaje con 'sti Object. Object è il reference più generico che ci sia ... perché può fare riferimento a qualunque oggetto, compresi gli array (di qualunque tipo).

    Domanda: perché lavori con degli Object?? C'è un motivo particolare?

    Comunque per la tua domanda specifica, non ho capito se parti con un Date o un Calendar e cosa vuoi farci. Vuoi ottenere una rappresentazione testuale della data? In caso affermativo, usa DateFormat o SimpleDateFormat (dipende se hai bisogno di un formato standard o di uno tuo specifico).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di Girvy
    Registrato dal
    May 2007
    Messaggi
    43
    :-D
    Purtroppo si c'è un motivo particolare non lo stabilisco io...
    Ti invio il tutto:
    public class CalendarToString implements TransformStrategy{

    private DateFormat df;

    /**
    * Constructs a new strategy object using the specified format for its transform rule.
    *
    * @param format format to be used by this transfrom strategy
    * @see java.text.DateFormat
    */
    public CalendarToString(int format) {

    df = DateFormat.getDateInstance(format);

    }

    /**
    * Constructs a new strategy object using the default format DateFormat.FULL for its
    * transform rule.
    */
    public CalendarToString(){

    //df = DateFormat.getDateInstance(DateFormat.FULL);
    df = new SimpleDateFormat("dd-MMM-yy");

    }

    /**
    * Returns the specified argument <code>Calendar<code> instance as a string
    *
    * @param target <code>Calendar</code> instance to transform
    * @return formatted string representing the <code>Calendar</code> instance
    *
    */
    public Object transform(Object target) {
    }


    Io devo implementare la funzione transform...GRAZIEEE

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Girvy
    Io devo implementare la funzione transform...GRAZIEEE
    Metodo:

    String format(Date date)

    della classe DateFormat. Da String a Object per il valore di ritorno non ci sono problemi (è un widening, implicito). Di quel 'target' fai innanzitutto un cast a Calendar e poi ottieni un date con il metodo getTime().
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it L'avatar di Girvy
    Registrato dal
    May 2007
    Messaggi
    43
    Sei stato gentilissimo ma potresti per favore spiegarti meglio?
    :master:

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Girvy
    Sei stato gentilissimo ma potresti per favore spiegarti meglio?
    Tu ricevi un Object. Ma come abbiamo detto è il reference più generico che ci sia. Potenzialmente può essere passato qualunque tipo di oggetto a quel metodo. Supponiamo, come dicono i commenti di documentazione, che ti venga sempre passato un Calendar. Tu nel metodo devi definire una variabile di tipo Calendar a cui assegni il valore di 'target' facendone ovviamente un cast esplicito a Calendar.
    Dal Calendar ottieni un Date con il metodo getTime(). Il Date lo passi a format() invocato sul quel campo di istanza 'df' che è un DateFormat.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it L'avatar di Girvy
    Registrato dal
    May 2007
    Messaggi
    43
    Io ho fatto come tu mi hai detto ma non va lo stesso..
    il codice è questo:
    public Object transform(Object target) {
    Calendar cl=(Calendar)target;
    Date d=cl.getTime();
    df.format(d);
    d.toString();
    return d;
    }
    Dove ho sbagliato?

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Girvy
    df.format(d);
    d.toString();
    return d;
    }
    Dove ho sbagliato?
    format() ti ritorna già la stringa che devi far ritornare dal tuo metodo!!
    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.