![](/img/trans.png)
[英]Detail formatter error: java.util.Arrays cannot be resolved to a type
[英]Eclipse: Detail formatter error: <key> cannot be resolved to a variable
我正在使用當前的詳細信息格式化程序作為哈希圖
key + "-" + value
而當我調試代碼。
import java.util.HashMap;
public class Test1
{
public static void main(String[] args)
{
HashMap<String, Integer> wordcount = new HashMap<String, Integer>();
wordcount.put("foo", 1);
wordcount.put("bar", 1);
System.out.println("test"); // set a breakpoint here
}
}
Eclipse在變量選項卡中說..
Detail formatter error:
key cannot be resolved to a variable
value cannot be resolved to a variable
實際上,我想查看斷點在System.out.println
處停止時HashMap的值...不只是wordcount HashMap<K,V> (id=16)
,還包括其內容。
詳細信息格式化程序用於為您提供對象(及其屬性)的字符串表示形式,而不用於局部變量或方法參數。 HashMap沒有字段“鍵”和“值”,因此您的代碼實際上沒有任何意義。
我猜您在另一個調試會話期間將詳細信息格式化程序與一些局部變量(在類似HashMap.put()的方法中)混淆了。
為了獲得一些可以正常工作的代碼,這可能是最簡單的方法,首先在像put()這樣的HashMap方法中設置一個斷點,並在遇到斷點時實現細節格式化程序。 這樣,您可以直接驗證新代碼。
HashMaps的示例詳細格式化程序:
StringBuilder buffer = new StringBuilder();
buffer.append("entries: ").append(this.size()).append("\n");
for (Map.Entry entry : entrySet()) {
buffer.append("key: ").append(entry.getKey().toString()).append(", value:").append(entry.getValue().toString()).append("\n");
}
return buffer.toString();
對於您的示例,將具有以下輸出:
entries: 2
key: foo, value:1
key: bar, value:1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.