以下是设置:
我正在尝试编写一些做一些Akka的Java代码 - 创建Actors,发送消息等等。但是,有两段代码在IntelliJ中抛出类型错误但在编译时工作得很好命令行,我不知道如何解决它。
未来#的onSuccess()
我有这样的电话:
Future<Iterable<Object>> sequence = Futures.sequence(...);
sequence.onSuccess(new PrintResult<Iterable<Object>>(), getContext().dispatcher());
其中PrintResult的定义与此处相同:http://doc.akka.io/docs/akka/2.3.2/java/futures.html(即PrintResult扩展OnSuccess)
但是,我在PrintResult的IntelliJ中得到一个持久的红色下划线:
未来的onSuccess(scala.PartialFunction,java.lang.Object&gt;,ExecutionContext)无法应用 to(PrintResult&gt;,ExecutionContextExecutor)
我有一个与日志相关的方法,可以简化为:
public void log(LoggingAdapter adapter, Logging.LogLevel level, String message) {
adapter.log(level, message);
}
IntelliJ不抱怨。但是如果我尝试在命令行上构建它,javac会抱怨:error: incompatible types: LogLevel cannot be converted to int
。添加level.asInt()会使命令行错误消失,但现在IntelliJ会抱怨adapter.log(level,message)不会为某个级别带来int。
任何想法可以解决问题并使IntelliJ停止抱怨?
答案 0 :(得分:0)
这看起来像一个IntelliJ Scala插件错误,简单明了。官方错误跟踪器中有许多错误match这个一般描述,所有&#34;好的代码红色&#34;或类似的。所以我会从那里开始,如果需要可能会打开一个bug。