gpt4 book ai didi

java - 为 Multimap 的一个特定实例覆盖 toString()?

转载 作者:行者123 更新时间:2023-11-29 07:56:45 25 4
gpt4 key购买 nike

我有一个 ListMultimap (Guava) 的实例,它由嵌套的 HashMap 和相当复杂的对象组成——有什么方法可以更改此实例的 toString() 以在打印 HashMap 时自定义控制台输出?或者是唯一的方法是创建一个新的类,它是 HashMap 类的扩展,并重写 toString() 方法如下:

class CustomizedListMultiMap extends ListMultiMap<myComplexDatatypeOne, myComplexDatatypeTwo> {
// overwriting toString
public String toString() {
// my custom implementation
}
}

Multimaps实例化如下:

ListMultimap<datatypeOne, datatypeTwo> map = ArrayListMultimap.create();

所以我认为第一个答案不适用? (不过谢谢。)

最佳答案

匿名类怎么样:

Map<X, Y> map = new HashMap<X, Y>() {
@Override
public String toString() {
// toString implementation here
}
};

编辑: 看起来您想使用 final 类来执行此操作。相反,我建议编写一个单独的 static toString 方法并调用它,而不是以某种方式尝试将其添加到类本身:

public static String mapToString(Map<X, Y> map) {
// toString implementation here
}

关于java - 为 Multimap 的一个特定实例覆盖 toString()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17241319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com