【发布时间】:2014-10-26 17:48:01
【问题描述】:
我正在尝试实现一个 scala 函数对象(特别是 - 与 apache spark 一起使用)
等效的 java 类型是scala.Function0(用于无参数函数)
除了实现业务逻辑apply()的方法外,我看到我还要实现其他几个方法。
简单的谷歌搜索方法名称没有帮助(我看到了关于应该实现的 tag 方法的参考 - 但这里的方法名称不同。
这是包含这些方法的代码(具有空实现)。
private static class functionObject implements Function0<Integer>{
@Override
public Integer apply() {
// TODO Auto-generated method stub
return null;
}
@Override
public byte apply$mcB$sp() {
// TODO Auto-generated method stub
return 0;
}
@Override
public char apply$mcC$sp() {
// TODO Auto-generated method stub
return 0;
}
@Override
public double apply$mcD$sp() {
// TODO Auto-generated method stub
return 0;
}
@Override
public float apply$mcF$sp() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int apply$mcI$sp() {
// TODO Auto-generated method stub
return 0;
}
@Override
public long apply$mcJ$sp() {
// TODO Auto-generated method stub
return 0;
}
@Override
public short apply$mcS$sp() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void apply$mcV$sp() {
// TODO Auto-generated method stub
}
@Override
public boolean apply$mcZ$sp() {
// TODO Auto-generated method stub
return false;
}
}
这些方法是什么?他们应该如何实施?有没有更清洁的解决方案可以将这些添加到任何类中?
【问题讨论】:
-
也许是一个愚蠢的问题,但你为什么要尝试在 java 中编写一个 scala 函数?用scala写还是写java构造?
-
我正在尝试在 java 项目中使用 apache spark。 spark 是一个 scala 项目,因此它需要 scala 对象。我们的项目是java,所以我不想添加scala代码。从理论上讲,java - scala(特别是 java - spark)的互操作性应该是相对简单的——但显然有些问题不是很简单(或者至少缺乏文档)
-
@Ophiiryoktan Scala -> Java,简单。 Java -> 斯卡拉;变化。如果 scala 库是为它设计的(!?!),那么容易,否则就是一团糟
-
实现
AbstractFunctionX -
使用 Scala,使用编写工具完成工作,而不是坚持你觉得安全的东西。当你学习 scala 时,你会开始讨厌 java 的冗长,并意识到你可以解雇 10 个 java 开发人员并用 1 个 scala 开发人员替换
标签: java scala scala-java-interop