小编TDJ*_*Joe的帖子

突出显示IntelliJ IDEA中的异常抛出器

我最近从Eclipse迁移到IntelliJ IDEA,并且有一个我缺少的功能.在Eclipse中,当您将插入符号放在已检查的异常上时,在throws声明或catch块中,它会突出显示哪个方法/构造函数调用抛出该异常.

在IntelliJ IDEA(社区版)中有没有办法做到这一点?

java eclipse intellij-idea

77
推荐指数
1
解决办法
1万
查看次数

番石榴有没有把迭代变成独特类型的地图的方法?

我在番石榴中找不到将Collection(或Iterator/Iterable)转换为Map的方法,如下所示(为清楚起见省略了通配符):

public static <T, K, V> Map<K,V> collectionSplitter(Collection<T> source, Function<T,K> kProducer, Function<T,V> vProducer){
    Map<K,V> map = Maps.newHashMap();
    for(T t : source){
        map.put(kProducer.apply(t), vProducer.apply(t));
    }
    return map;
}
Run Code Online (Sandbox Code Playgroud)

有没有现成的方法呢?我能找到的最接近的是Splitter.keyValueSplitter(),如果T是一个字符串.

java guava

10
推荐指数
1
解决办法
4167
查看次数

这种模式/习语是什么?有什么好处?

我在我工作的代码库中看到了很多这样的习惯用法,基本上是:

接口 - >定义getter/setter的抽象类 - >实现

例如:

interface Foo{
    void doSomethingA();
    void doSomethingB();
}

abstract class AbstractFoo implements Foo{
    protected int x;
    protected String y;
    int getX(){ return x;}
    void setX(int x){ this.x = x;}
    String getY(){ return y;}
    void setY(String y){ this.y = y;}
}
//One or more concrete classes extending AbstractFoo
Run Code Online (Sandbox Code Playgroud)

这有名字吗?我能看到的唯一好处是扩展AbstractFoo的类不需要重新实现它们的getter和setter.

java design-patterns idioms

0
推荐指数
1
解决办法
266
查看次数

标签 统计

java ×3

design-patterns ×1

eclipse ×1

guava ×1

idioms ×1

intellij-idea ×1