我最近从Eclipse迁移到IntelliJ IDEA,并且有一个我缺少的功能.在Eclipse中,当您将插入符号放在已检查的异常上时,在throws声明或catch块中,它会突出显示哪个方法/构造函数调用抛出该异常.
在IntelliJ IDEA(社区版)中有没有办法做到这一点?
我在番石榴中找不到将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是一个字符串.
我在我工作的代码库中看到了很多这样的习惯用法,基本上是:
接口 - >定义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.