首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将其更改为val函数

如何将其更改为val函数
EN

Stack Overflow用户
提问于 2018-08-08 05:22:55
回答 2查看 66关注 0票数 -1
代码语言:javascript
复制
def nothing(row:Row): Unit = {

}

我想做一些类似于rdd.foreach(functionHere)的事情,并且我希望这个函数在Java语言中是静态等价的。我想把那个def改成val,但是我就是搞不懂语法。

我基本上想要有java代码,这基本上是rdd.foreach(MyScalaClass.nothing())

我该如何做到这一点呢?

有可能吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-08 05:30:59

您的意思是想要将函数作为变量传递吗?如果是这样的话,你可以写一个函数文字:

val nothing = (row: Row) => Unit

然后调用以下代码来调用它:

代码语言:javascript
复制
nothing(aRow)
票数 0
EN

Stack Overflow用户

发布于 2018-08-08 07:40:10

您不需要使用valrdd.foreach(MyScalaClass.nothing)应该可以很好地工作。Scala会自动将方法转换为函数。与此对应的Java版本是rdd.foreach(MyScalaClass::nothing)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51735624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档