java.lang.ClassCastException:java.util.HashMap $ EntrySet无法强制转换为java.util.Map $ Entry

Psl*_*Psl 8 java dictionary

我有这样的overrriden方法

@Override
public Build auth (Map.Entry<String, String> auth) {
            this.mAuth = auth;
            return this;
}
Run Code Online (Sandbox Code Playgroud)

这里我试图以下面的方式调用此方法

Map<String, String> authentication = new HashMap<String , String> ();        
         authentication.put("username" , "testname");
         authentication.put("password" , "testpassword");        

Map.Entry<String, String> authInfo =(Entry<String , String>) authentication.entrySet();

AuthMethod.auth(authInfo)
Run Code Online (Sandbox Code Playgroud)

虽然正在运行这个

java.lang.ClassCastException: java.util.HashMap$EntrySet cannot be cast to java.util.Map$Entry
Run Code Online (Sandbox Code Playgroud)

我怎样才能传递Map.Entry<String, String>给auth方法

Sur*_*tta 6

您正在尝试将集合转换为单个条目.

您可以通过迭代集来使用每个条目项:

Iterator it = authentication.entrySet().iterator();
while (it.hasNext()) {
    Map.Entry entry = (Map.Entry)it.next(); //current entry in a loop
    /*
     * do something for each entry
     */
}
Run Code Online (Sandbox Code Playgroud)