Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
identity方法做什么,通用单例java_Java_Generics_Singleton - Fatal编程技术网

identity方法做什么,通用单例java

identity方法做什么,通用单例java,java,generics,singleton,Java,Generics,Singleton,在阅读有效java第5章第27项时 它讨论了通用的单例模式: 现在假设您想要提供一个标识函数。是的 每次需要时都创建一个新的,这是浪费时间的 无国籍。如果泛型被具体化,您将需要一个标识 每个类型的函数,但由于它们已被擦除,因此只需要一个泛型 辛格尔顿。下面是它的外观: 公共类GenericSingleton{ 私有静态一元函数标识\函数=新一元函数{ @凌驾 公共对象applyObject参数{ 返回args; } }; @抑制警告未检查 公共静态一元函数标识函数{ 返回一元函数标识\函数; }

在阅读有效java第5章第27项时

它讨论了通用的单例模式:

现在假设您想要提供一个标识函数。是的 每次需要时都创建一个新的,这是浪费时间的 无国籍。如果泛型被具体化,您将需要一个标识 每个类型的函数,但由于它们已被擦除,因此只需要一个泛型 辛格尔顿。下面是它的外观:

公共类GenericSingleton{ 私有静态一元函数标识\函数=新一元函数{ @凌驾 公共对象applyObject参数{ 返回args; } }; @抑制警告未检查 公共静态一元函数标识函数{ 返回一元函数标识\函数; } 公共静态无效字符串[]args{ 字符串[]字符串={黄麻、大麻、尼龙}; 一元函数sameString=identityFunction; 对于字符串s:strings{ System.out.printlnsameString.applys; } 数字[]数字={1,2.0,3L}; UnaryFunction sameNumber=identityFunction; 对于数字n:数字{ System.out.printlnsameNumber.applyn; } } } 我不明白应用方法到底做了什么! 这就像得到一个物体然后返回它自己。为什么?一些无用的样品

有人能告诉我这个用例吗

一个用例是

假设您有一个由唯一键标识的项目列表,并且希望从该唯一键映射到对象本身

Collectors.toMap需要两个功能:

一个从对象中提取关键点 另一个用于从对象中提取值
由于值应该是对象本身,因此您需要一个函数,该函数接受一个对象并返回同一个对象,即您的标识函数。

这是一个标识函数,而不是标识函数。查一下恒等式函数的数学定义。@chrylis谢谢,我现在读了,我编辑了我的问题,但我还有同样的问题。它在实际程序中有任何用例吗?请看@chrylis所有示例都在haskell中,因此我想最好保留我的问题,以java示例为例这就是为什么我没有将其作为副本关闭,但概念是相同的。