如何在eclipse中调试期间初始化HashSet变量?

时间:2016-11-14 20:08:31

标签: java eclipse

我试图在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的调试会话期间初始化一个集合?

3 个答案:

答案 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 View in Eclipse

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;。