我想自定义IntelliJ调试器显示Set
个对象值的方式。因此,我在Java Data Type Renderers
对话框中创建了一个新的Customize Data Views
,并将此代码粘贴到Use following expression
字段中:
String s = "";
if (this.size() > 0) {
Iterator iterator = this.iterator();
if (iterator.hasNext()) {
s += iterator.next();
if (iterator.hasNext()) {
s += ", ";
do {
s += iterator.next();
} while (iterator.hasNext());
}
}
}
return s;
但是调试器中显示以下错误:Unable to evaluate the expression Initializer for 's' has incompatible type
。
我应该如何在字段中编写多行表达式,以便上面的代码正常工作?
答案 0 :(得分:1)
如果您使用的是Java 8,则可以使用String.join(", ", this)
看起来应该是这样的。
如果您使用的是旧版Java,则可以使用。
StringBuilder sb = new StringBuilder();
Iterator<?> iter = this.iterator();
if (iter.hasNext())
sb.append(iter.next().toString());
while (iter.hasNext()) {
sb.append(", ");
sb.append(iter.next().toString());
}
return sb.toString();
答案 1 :(得分:1)
使用只是:
有什么问题this.toString()