首页 > 解决方案 > 继承容器(Vector)时如何覆盖Intellij Idea的调试窗口中的调试变量格式

问题描述

我有一个类ValueList<K, V>,它扩展Vector<V>并添加了一堆其他属性。类的声明是:

public class ValueList<K extends Comparable<K>, V> extends Vector<V> implements Comparable<ValueList<K, V>>

调试时,Intellij 的调试窗口格式ValueList与 一样Vector,没有显示我添加的属性。例如:我有一个ValueList名为 s的数组valueLists,这就是它的内容的样子:

在此处输入图像描述

此外,我已经重写toString()以打印Vector. 我所知道的是,当我覆盖时toString(),Intellij 会在侧面使用它打印对象,而这并没有发生。

编辑:实施toString()

@Override
public String toString() {
    StringBuilder builder = new StringBuilder();
    builder.append("(");
    for (V v : this) {
        builder.append(v).append(", ");
    }
    return builder.append(")").toString();
}

标签: javaintellij-idea

解决方案


您可以在调试变量中右键单击您valueLists的,应该有一个选项“查看为”(名称可能会根据您的 IntelliJ 版本略有变化),让您选择如何显示这些类型的值。

您还可以查看以下文档:https ://www.jetbrains.com/help/idea/customizing-views.html#renderers


推荐阅读