草庐IT

functional-interface

全部标签

java - 为什么他们决定让接口(interface)有 "Optional Operations"

ImmutableSet实现Set界面。对ImmutableSet没有意义的函数现在称为Set的“可选操作”。我假设是这样的情况。所以ImmutableSet现在会为许多可选操作抛出UnsupportedOperationException。这对我来说似乎倒退了。有人告诉我,接口(interface)是一种契约,因此您可以在不同的实现中使用强加功能。可选操作的方法似乎从根本上改变了(矛盾?)接口(interface)的用途。今天要实现这个,我会将Set接口(interface)分成两个接口(interface):一个用于不可变操作,另一个用于扩展这些操作以用于修改器。(非常快,现成的解

java - 将 Clojure 函数作为 java.util.Function 传递

在主题中,我想使用一个将函数作为参数的Java方法,并为其提供一个Clojure函数,无论是匿名函数还是常规函数。任何人都知道如何做到这一点? 最佳答案 java.util.function.Function是一个接口(interface)。您需要实现抽象方法apply(Tt).应该这样做:(defnhello[name](str"Hello,"name"!"))(defnmy-function[](reifyjava.util.function.Function(apply[thisarg](helloarg))));;thend

java - 为什么static和default接口(interface)方法不能synchronize却可以strictfp?

这个问题在这里已经有了答案:Whatisthereasonwhy“synchronized”isnotallowedinJava8interfacemethods?(2个答案)关闭4年前。为什么静态和默认接口(interface)方法不能同步?人们说同步是一个实现细节。好吧,strictfp也是一个实现细节,但这并不妨碍在静态和默认接口(interface)方法上允许strictfp。默认方法是继承的,如果实现接口(interface)的类没有覆盖默认方法,那么让它已经同步可能会非常方便。我猜测synchronized(以及strictfp)不是继承的(我在这里吗?),但这并不能解释为

Java 泛型 : chaining together generic function object

我一直在努力解决以下问题。我有一系列函数对象,每个函数对象都有自己的输入和输出类型,这些类型是通过java中的泛型类型参数定义的。我想将它们排列成一个链,以便将原始数据输入到第一个函数,转换为输出类型,这是下一个对象的输入类型,依此类推。当然,这对于硬编码来说是微不足道的,但我希望代码可以插入到新的函数对象中。如果我只是省略了类型参数(只有最终输出类型),这就是事情的样子:publicTprocess(){Iteratorit=source.provideData();for(Pipepipe:pipeline){it=pipe.processIterator(it);}returns

java - Spring:委托(delegate)给自定义代理包装器进行接口(interface)注入(inject)

在一个非常大的遗留应用程序中,我有一些接口(interface)和类不实现这些接口(interface)。接口(interface)是基于类生成的,所以签名相同(除了接口(interface)在上面添加了另一个异常(exception))并且名称相似(因此很容易从接口(interface)名称中找到类名)。为了实现接口(interface),我们进行了一系列处理和记录调用,但基本上使用java.lang.reflect.Proxy委托(delegate)给类。简化后看起来像这样://ThiswillcreateaproxyandinvokehandlerthatcallsHelloWo

Java 8 扩展函数接口(interface)并组合它们

我有一个功能接口(interface),可以将标准jdk功能扩展到简单的泛型类型。现在我想使用andThen组合两个函数,这会引发编译器错误Error:(25,25)java:methodandThenininterfacejava.util.function.Functioncannotbeappliedtogiventypes;required:java.util.function.Function,?extendsV>found:ui.instrumentation.api.transformation.Transformerreason:cannotinfertype-vari

java - 根据对象在 Java 中的接口(interface)实现来处理对象

我一直在寻找用Java解决这个问题的设计思路。我正在使用一个库(我无法更改它),对于这个例子,我将称之为“动物”。它包含一个Animal接口(interface),以及一堆实现;我需要根据我得到的Animal的实现调用不同的方法:Listanimals=Service.getAnimals();for(Animala:animals){process(a);}privatevoidprocess(Animalanimal){if(animalinstanceOfCat){processCat(animal);}elseif(animalinstanceOfDog){processDog

Java:如何确保接口(interface)方法不会比 X 花费更多时间?

我有一个接口(interface)方法booleanright(),如果它在一秒钟内没有“应答”,它应该返回false。 最佳答案 是的,这可以通过例如java.util.concurrent.Future(标准interface表示类型为V的异步计算的结果),结合方法get(longtimeout,TimeUnitunit).该方法可能会抛出TimeoutException,除其他异常(exception)情况外,但在正常执行时返回计算结果。在这种情况下,您需要一个Future,与get(1,TimeUnit.SECONDS)在t

Java基础: a static function without a name,或返回类型

publicclassMain{publicstaticfinalLoggerLOGGER=Logger.getLogger(Main.class.getName());static{try{LOGGER.addHandler(newFileHandler("errors.log",true));}catch(IOExceptionex){LOGGER.log(Level.WARNING,ex.toString(),ex);}}...我想知道这个无名静态函数是关于什么的。我从未在java中看到过这样的东西(我目前正在学习)。它有什么用?它通常在什么时候使用?什么时候在程序中执行?

java - 用于简单 XML 接口(interface)的合适工具

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。Improvethisquestion我需要通过http上的XML接口(interface)向远程客户端公开Web应用程序的一些服务。提供的服务数量有限(3-7),请求和响应都应保持简单,不需要任何特殊数据类型或跨实体关系。我的目标是保持代码简洁明了,并拥有健壮和高性能的应