scala:没有参数的方法声明

时间:2014-03-19 17:17:40

标签: scala methods functional-programming interop scala-java-interop

我知道函数不是一种方法。我需要一个方法(与java互操作),我不想传递参数,因为它可以从正文中推断出来。我想这样做:

def upperCaseOrNull = StringUtils.stripToNull _ compose StringUtils.upperCase _

这是一个完美的函数String =>字符串,但它不是一个方法所以在java我必须做

upperCaseOrNull().apply("a")

而不仅仅是:

upperCaseOrNull("a")

为了让java开心,我必须使用不必要的函数包装

def upperCaseOrNull(string : String) = 
           (StringUtils.stripToNull _ compose StringUtils.upperCase _) (string)

通常被认为是函数式编程中的一种坏风格。那么我可以以某种方式声明一个方法而不传递不必要的参数吗?

0 个答案:

没有答案