我试图在eclipse的调试会话期间初始化Set<String>
变量。所以我右键单击要更改的变量并在&#34;更改对象值&#34;窗口键入以下表达式:
new HashSet<String>(Arrays.asList(new String[]{"a", "b"}));
Eclipse返回以下错误:
HashSet cannot be resolved to a type
Arrays cannot be resolved
有没有办法在eclipse的调试会话期间初始化一个集合?
答案 0 :(得分:2)
如果要使用未导入的类(当前文件中没有相应的new java.util.HashSet<String>(java.util.Arrays.asList(new String[]{"a", "b"}));
语句),则可以按完全限定名称使用这些类:
<?php $this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
'status' => array(
'name' => 'status',
'value' => ($data->status==0)?"Good":"Bad",
),
array(
'name' => 'your_name'
'value' => array($this,'yourActionForDescription')
)
),
)): ?>
答案 1 :(得分:2)
更灵活的解决方案是使用Eclipse的Display
中的Debug Perspective
视图:
输入:
yourSet = new java.util.HashSet<String>();
yourSet.addAll(java.util.Arrays.asList("a", "b"));
然后,选择这些行,右键单击并选择execute
选项。
这是一个截图示例:
Display
视图的优点是,您可以根据需要调用正在调试的变量(例如add()
上的remove()
,Set
)。
Variables
视图无法执行相同的操作,其中Change Object Value
选项仅允许将指定值分配给变量。
Display
视图的其他优点:在编写类中的代码时,编写代码以自然的方式执行。
在发现Display
视图后,我再也没有使用Change Object Value
选项。
答案 2 :(得分:0)
这将有效:
Set<String> yourSet = new HashSet<String>(Arrays.asList("a", "b"));
你的eclipse错误,你需要导入Java.Util和Collection类。右键单击班级中的任意位置,然后单击&#34; source&#34; &GT;&GT; &#34;组织进口&#34;。