我有一個Java的構造,這需要的功能接口作爲參數:通階功能的Java功能接口參數
public ConsumerService(QueueName queue, Consumer<T> function) {
super(queue);
this.function = function;
}
我想使用此構造中階,但編譯器會抱怨,說,它不能解決構造函數。我嘗試了以下幾種方式:
val consumer = new ConsumerService[String](QueueName.CONSUME, this.process _)
val consumer = new ConsumerService[String](QueueName.PRODUCE, (s: String) => this.process(s))
我也嘗試在運行時投下的功能 - 但是,這給我留下了一個ClassCastException:
val consumer = new ConsumerService[String](QueueName.CONSUME, (this.process _).asInstanceOf[Consumer[String]])
我如何傳遞一個階功能一個java函數接口參數?
http://stackoverflow.com/questions/29684894/is-there-a-standard-way-to-convert-a-java-util-function-consumert-into-a-java但是那裏沒有真正的答案... – Alec
這是一個不同的事情,因爲沒有Scala參與 – Det