Comment vérifier les types de clé et de la valeur si l'Objet instanceof table de hachage?

J'ai une méthode qui accepte un Objet. Dans un cas d'utilisation, la méthode accepte un HashMap<String, String> et définit chaque valeur de la propriété de la clé correspondante nom.

public void addHelper(Object object) {
    if (object instanceof HashMap) {
        HashMap<String, String> hashMap = (HashMap<String, String>) object;
        this.foo = hashMap.get("foo");
        this.bar = hashMap.get("bar");
    }
}

Cette classe adhère à une interface particulière, l'ajout d'ouvreurs de ces propriétés n'est pas une option.

Ma question est, comment puis-je vérifier le type de fonte d'ici?

HashMap<String, String> hashMap = (HashMap<String, String>) object;

Merci d'avance!

SOLUTION

Grâce à la réponse de @drobert, voici mon code mis à jour:

public void addHelper(Object object) {
    if (object instanceof Map) {
        Map map = (Map) object;
        if (map.containsKey("foo")) this.foo = map.get("foo").toString();
        if (map.containsKey("bar")) this.bar = map.get("bar").toString();
    }
}
Voulez-vous dire, comment faire pour supprimer décoché fonte d'avertissement que vous obtenez?
Vous pouvez utiliser if (obj instanceof String) { //votre code }
L'objet est un HashMap<String,String> pas String
U peut type cast HashMap hashMap = (HashMap) de l'objet;Il travaillera avec des avertissements.

OriginalL'auteur Shaun Scovil | 2013-10-03