2
|
Robert S. Barnes Antoni · 技术社区 · 14 年前 |
1
8
不,Java中根本没有函数这样的东西。只有对象和方法是完全由对象拥有并从属于它们的。目标是你的主和爪哇的主人,除了通过他的意志,什么都不会发生。 您可以通过使对象实现委托接口来实现某种java委托,这是非常接近的。
希望这足以让这个想法得到理解。一般来说,在应用程序代码中你看不到这一点。 编辑: 因为您是Java新手,所以语法实际上就是您要做的事情。这也可以说明它是一个什么样的皮塔,以及为什么人们不喜欢它:)
|
2
2
Java中的函数不是第一类对象。这意味着最好的方法是通过子类化或实现一个接口。接口将包含方法定义。然后您将实际传递一个具有所需方法的对象。例如,请参见Collection.sort的工作原理。 |
3
2
JDK8可以引入lambdas和方法引用。 同时,匿名内部类提供了创建函子对象的稍微冗长的方法。
对于构建类似的测试框架来说,反射或使用注释处理器生成静态代码是一种方法。(请注意,反射通常是有害的,但在测试框架等情况下是可以的。) |
4
1
在Java中不能指向函数,也没有直接的等价物。 我唯一能想到的就是函数对象。你知道,在C++中,你会超载函数调用操作符,
在Java中,创建一个名为
|
5
0
考虑到不同语言的差异,将您的示例简单地翻译成Java。
注意,在上面的例子中,PTMF不是线程安全的。对于线程安全实现,将PTMF更改为
或者,在这种情况下更好:
环的主体
|
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |