我已经找到Eclipse Collections非常有用。尤其是原始类型的集合(例如:IntObjectHashMap)。不幸的是,在 IntelliJ IDEA 调试器中呈现这些集合存在问题。
让我们有一个示例代码:
import org.eclipse.collections.impl.map.mutable.primitive.IntObjectHashMap;
import java.util.HashMap;
public class Test {
public static void main(String[] args) {
IntObjectHashMap<String> eclipseMap = new IntObjectHashMap<>(4);
eclipseMap.put(1, "one");
eclipseMap.put(2, "two");
HashMap<Integer, String> hashMap = new HashMap<>(4);
hashMap.put(1, "one");
hashMap.put(2, "two");
System.out.println("" + eclipseMap);
System.out.println("" + hashMap);
}
}
这里我们有一个调试器变量视图:
我们可以看到 JDK HashMap 被完美渲染,但是IntObjectHashMap
Eclipse Collection 却不是。
当我下拉 Eclipse Collection 的值时,情况更糟:
正如我们所看到的 - 没有one
元素。
您可以说:好的,作为一种解决方法,您可以使用toString
IntelliJ 中提供的标准渲染器:
不幸的是,我的情况并非如此,因为我的收藏有数千万个元素。
所以我的问题是:
有人知道一个地方/一个项目,我可以在其中找到用于原始类型的 Eclipse Collections 的 IntelliJ Java 类型渲染器吗?