Map.contains Valore ritorna Falso anche se il valore specificato esiste in valueset e non esiste un errore di tipo objecttype

ho provato a controllare il valore di Hashmap usando il metodo contiene un intero -1. anche se questo valore è presente in valueset restituisce nulla. la mia mappa è (String, Integer) formato tuttavia guardando attraverso il debug posso vedere -1 in Mappa è memorizzato come Long (Ho provato a controllare contiene da Long.valueof (-1) che è anche falso).

code and debug screen shot


En title : Map.containsValue returns False although specified value exists in valueset and there is no objecttype mismatch

9 Comments:

  1. come si fa a sapere che dataSnapshot2 in realtà contiene dati? la schermata non mostra questa ispezione. puoi modificare la tua domanda e includere codice?
  2. controllare la linea 3 sul debugger in screenshot.. ci sono valori su dataSnapshot2
  3. perché non si utilizza dataSnapshot2.getValue(User.class)? o qualcosa di simile?
  4. frndrqst_listener' ascoltatore è collegato all'oggetto utente relationship Mappa su FireBase quindi solo datachanges a relationship per l'oggetto utente attiverà questo metodo e quindi dataSnapshot2 passerà solo valori di relazione non l'intero oggetto
  5. assumendo il vostro scenario ho provato il seguente, ma il suo lavoro per me:

    public static void mapContainsIssue() {
    
            // create hash map
            HashMap<String, Integer> newmap = new HashMap<>();
    
            // populate hash map
            newmap.put("tutorials", 23);
            newmap.put("point", -1);
            newmap.put("is best", 2);
    
            // check existence of value 'point'
            System.out.println("Check if value '-1' exists: "
                    + newmap.containsValue(-1));
        }
    
    1. bene per il mio problema solo questa correzione sta tornando vero if(req_wat_user.relationship.values().toString().contains("-1"))

More similar articles:

  • come verificare HashMap contiene Valore con String parziale
  • trovare duplicati nel valore di HashMap
  • lo xyz letterale di tipo int è fuori portata
  • ordina una mappa per chiave o Valore in Java
  • Int (primitivo) valore che non viene tipizzato a lungo (primitivo) implicitamente
  • elenco di pinze come si fa a controllare se contiene un valore?
  • loop con un indice/contatore che supererà il valore massimo del suo tipo
  • come creare una HashMap con due chiavi (coppia di chiavi, Valore)?
  • il tipo inserito non corrisponde a NSMutableArray
  • 4 Valore chiave HashMap? array?? approccio migliore?
  • Int datatipe in JVM a 64 bit. è più "inefficiente" che lungo?
  • errore moltiplicando i numeri nei trilioni
  • a lungo trattato come int in un array in Java
  • perché i risultati delle espressioni aritmetiche comprese le variabili int e long non possono essere assegnati alla variabile int?
  • come fa Java parse un int da un lungo se troppo grande?
  • convertire Valore di testo in Int
  • memorizzazione della somma di due int in un Long in Java
  • un int sarà a 32bit e un lungo 64bit indipendentemente dal fatto che il sistema sia a 32 o 64 bit?
  • Integer a 64bit ha lo stesso limite del numero intero a 32bit
  • Java: produrre numeri casuali maggiori
  • c - int e long hanno la stessa dimensione e valore max
  • confusione sul metodo HashMap contiene il Valore
  • come distinguere tra int e long?
  • Hashmap 1 chiave 2 valori - utilizzando contains value
  • come scrivere/inserire una HashMap con due chiavi (coppia di chiavi, Valore)?
  • qual è l'errore nella moltiplicazione di Integer lungo?
  • classe Vuoto in HashMap come oggetto Valore
  • qual è il tipo di dati più grande per memorizzare (e stampare) un intero?
  • Java JDK - possibile conversione in perdita dal doppio all'int
  • valore di fusione da pow/pow a Long Long in C