Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 24
  1. #11
    grazie mille.

    un'altra domanda ..

    se io avessi:
    HashMap mappa = new HashMap();

    mappa.put("chiave1", "valore1");
    mappa.put("chiave2", "valore2");
    mappa.put("chiave3", "valore3");
    mappa.put("chiave4", "valore4");


    è possibile convertire mappa in un Object[] ???

  2. #12
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da gargamella81
    è possibile convertire mappa in un Object[] ???
    Tecnicamente puoi ottenere un array contenente le chiavi e anche un array contenente i valori. Ovvio, chiariamo subito, questi array sono solo una sequenza di reference che puntano alle chiavi o ai valori. Non c'è più nulla di "associativo".
    Lo ripeto: gli array non sono "associativi" nel senso di una qualunque chiave. Gli array sono una sequenza lineare di "elementi" indirizzati da un indice numerico. Le Map sono collezioni "associative" chiave --> valore.

    Object[] arrayChiavi = mappa.keySet().toArray();

    Object[] arrayValori = mappa.values().toArray();
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #13
    allora .. ti spiego quello che voglio fare ...

    ho realizzato un webservices in php con xml-rpc .. semplice semplice ...
    nel server ho una funziona che accetta come parametro in ingresso un array associativo.

    quello che voglio fare in JAVA è inviare con la funzione:

    client.execute("<nome metodo>", array);

    un array associativo in java.
    e quella funzione come secondo parametro (quindi parlo di array) vuole un Object[]

    quindi mi chiedevo come fosse possibile creare una cosa simile:

    array["chiave1"] = valore1;
    array["chiave2"] = valore2;
    array["chiave3"] = valore3;
    array["chiave4"] = valore4;


    e poi inviarla in questo modo:
    client.execute("<nome metodo>", array);

  4. #14
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da gargamella81
    quindi mi chiedevo come fosse possibile creare una cosa simile:

    array["chiave1"] = valore1;
    array["chiave2"] = valore2;
    array["chiave3"] = valore3;
    array["chiave4"] = valore4;
    Ripeto di no. In PHP gli array sono "associativi".
    In Java gli array hanno solo "indici" numerici progressivi. Quelli che in PHP sono array associativi, in Java sono ... le Map!!!
    Punto.

    Originariamente inviato da gargamella81
    ho realizzato un webservices in php con xml-rpc .. semplice semplice ...
    nel server ho una funziona che accetta come parametro in ingresso un array associativo.

    e poi inviarla in questo modo:
    client.execute("<nome metodo>", array);
    Probabilmente puoi anche farlo. Non sono competente di webservice. Ti dico solo che non devi "fissarti" su una notazione xyz["abc"]. Questa è di PHP.

    Guardando qui vedo che parla di una mappatura con un <struct> che descrive come "associative array".
    Quindi se la gestione dei webservice xml-rpc in Java può generare quella struttura, magari proprio partendo da una Map .... beh, è poi tutto lì.
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  5. #15
    ciao ..
    ho provato a fare come mi hai consigliato ..

    HashMap array = new HashMap();
    array.put("chiave1", valore1);
    array.put("chiave2", valore2);
    array.put("chiave3", valore3);
    array.put("chiave4", valore4);
    Map result = (Map) client.execute("nome_metodo", array);

    però questa funzione:
    Map result = (Map) client.execute("nome_metodo", array);

    vuole che array sia un Object[]

    è possibile in qualche modo farlo?

    per farti capire meglio .. da un esempio ho trovato una cosa simile:
    Object[] params = new Object[]{new Integer(33), new Integer(9)};
    Integer result = (Integer) client.execute("Calculator.add", params);

    ti può essere utile per darmi un consiglio? :P

    grazie !!!

  6. #16
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da gargamella81
    però questa funzione:
    Map result = (Map) client.execute("nome_metodo", array);

    vuole che array sia un Object[]

    è possibile in qualche modo farlo?

    per farti capire meglio .. da un esempio ho trovato una cosa simile:
    Object[] params = new Object[]{new Integer(33), new Integer(9)};
    Integer result = (Integer) client.execute("Calculator.add", params);

    ti può essere utile per darmi un consiglio? :P
    Scusa ma .... non ci arrivi?? Mi pare evidente ... nonché logico. Quel secondo parametro è l'insieme dei parametri, passato come array Object[] (cioè N object = N parametri). Ed è ovvio che non puoi passare direttamente un Map ad un parametro Object[]. Dovrai passare un array Object[] contenente 1 elemento che è la tua Map.
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  7. #17
    si .. questo l'avevo intuito ...

    è questa cosa che non sò come fare:

    "Dovrai passare un array Object[] contenente 1 elemento che è la tua Map."

    o per lo meno non riesco ad implementarlo? ma devo fare qualche cast?

    aiutooooo !!

    cmq grazie !

  8. #18
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da gargamella81
    è questa cosa che non sò come fare:

    "Dovrai passare un array Object[] contenente 1 elemento che è la tua Map."

    o per lo meno non riesco ad implementarlo? ma devo fare qualche cast?
    new Object[] { tuaMap }
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  9. #19
    mh .. che vergogna .. era abbastanza facile .. ma non credevo si potesse fare.
    ho provato e funziona !

    ora ho un'altro problema .. che credo sia molto simile .. ma al contrario.
    Cioè .. gestire la risposta ... la risposta (in php è sempre un'array associativo) però qui come lo devo gestire?
    quello che ricevo cos'è? un Object? un Map?

  10. #20
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da gargamella81
    la risposta (in php è sempre un'array associativo) però qui come lo devo gestire?
    quello che ricevo cos'è? un Object? un Map?
    PHP è da parecchio che non lo uso. Comunque in PHP come già detto e sicuramente sai già, gli array sono effettivamente delle "map" che associano un valore ad una chiave.

    Se per quello che devi fare hai delle chiavi note e predeterminate, avendo in PHP l'array puoi ovviamente ottenere subito il valore. Altrimenti puoi comunque iterare sull'array usando il costrutto foreach. Dipende da cosa "sai" e da cosa ci devi fare con questi dati.

    Sul manuale online del PHP, qui ti dà tutte le informazioni.
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java 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 © 2026 vBulletin Solutions, Inc. All rights reserved.