草庐IT

explicit-interface

全部标签

java - 如何在没有未经检查的分配的情况下从通用接口(interface)检索对象列表?

我有以下界面:publicinterfaceUserRepository{ListfindAll(UserCriteriauserCriteria,PageDetailspageDetails);TfindByEmail(Stringemail);}及其实现:@RepositorypublicclassJpaUserRepositoryimplementsUserRepository{publicListfindAll(UserCriteriauserCriteria,PageDetailspageDetails){//implementation}publicJpaUserfindB

java - 为什么不让 StringBuilder 和 StringBuffer 实现一个公共(public)接口(interface)呢?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。StringBuilder之间的差异和StringBuffer在Java中有据可查,并且已被toucheduponinStackOverflow基本上,StringBuilder是StringBuffer的非同步副本,具有几乎相同的接口(interface),因为它旨在作为的快速替代品字符串缓冲区。它们的API实际上是相同的,它们实际上是当前JDK中相同

java - 服务和 DAO 总是实现接口(interface)

在我见过的所有MVC项目中,“服务”和“DAO”类总是实现它们自己的接口(interface)。但几乎所有时候,我都没有看到使用此接口(interface)有用的情况。在这些情况下是否有任何理由使用接口(interface)?在“服务”和“DAO”类中不使用接口(interface)可能会产生什么后果?我无法想象任何后果。 最佳答案 Spring是一个控制反转容器。从某种意义上说,这意味着您使用的类的实现不落在应用程序上,而是落在其配置上。如果你有一个需要UserRepository来存储User实例的类,它会是这样的classUs

java - 了解java中的 'TypeElement'和 'DeclaredType'接口(interface)

这两个接口(interface)的一个用法,是写注解处理器。作为一个java初学者,我发现这两个包添加的间接级别:javax.lang.model.element&javax.lang.model.type提供有关java的元数据interface和javaclass令人困惑。…………java文档评论说,TypeElementrepresentsaclassorinterfaceprogramelement.Providesaccesstoinformationaboutthetypeanditsmembers.Notethatanenumtypeisakindofclassandan

java - Eclipse 中的 OSGi 声明式服务、多个服务接口(interface)和线程安全

我刚刚在我的代码中偶然发现了一个现象,归结为:我有一个OSGi声明式服务,提供两个配置如下的服务接口(interface):在我的代码中,我有两个不同的线程,它们都打开一个ServiceTracker来获取服务实例,但是通过不同的接口(interface):tracker=newServiceTracker(getBundle().getBundleContext(),.class,null);tracker.open();tracker.waitForService(1000l);所以一个线程使用IRedactedStore作为服务类,另一个使用IRedactedStoreContr

java - 没有提供者的服务提供者接口(interface)

我正在阅读Bloch的有效Java书籍[1],并遇到了以下SPI示例://ServiceinterfacepublicinterfaceService{//Servicespecificmethodshere}//ServiceproviderinterfacepublicinterfaceProvider{ServicenewService();}//ClassforserviceregistrationandaccesspublicclassServices{privateServices(){}privatestaticfinalMapproviders=newConcurren

java - 接口(interface) Java 1.8 中的具体方法

这个问题在这里已经有了答案:AredefaultsinJDK8aformofmultipleinheritanceinJava?(8个答案)VirtualExtensionMethodsinupcomingJava8release(5个答案)关闭9年前。在一次讨论中,我的一位friend告诉我具体方法将在java1.8接口(interface)中被允许然后当时我想到了一个问题,即如果它们被允许那么我们将如何区分方法。例如我有两个接口(interface)Animal.java和Pet.java,它们都有相同的具体方法,即eat()publicinterfacesAnimal{voide

java - 如果我在实现工厂模式时使用抽象类而不是接口(interface)。还会是工厂模式吗?

例如:http://www.tutorialspoint.com/design_pattern/factory_pattern.htm如果我更改抽象类Shape的接口(interface)形状,创建具体类来扩展Shape并使Shape工厂返回Shape抽象类类型化对象。它仍然是工厂模式吗? 最佳答案 我会同意。让我们看一下工厂方法模式的定义:thefactorymethodpatternisacreationalpatternwhichusesfactorymethodstodealwiththeproblemofcreatingo

java - 接口(interface)能否以某种方式阻止 lambda 表达式的实现?

背景我将以下接口(interface)作为API的一部分公开:publicinterfacePasture{/***@paramtThetimeofthevisit(asmeasuredfromoptimizationstartingpoint).*@paramtLastThetimeoftheprecedingvisit(asmeasuredfromoptimizationstartingpoint).*@returnTheexpectedrewardthatwillbereapedbyvisitingunderthegivenconditions.*/doubleyield(lon

java - 编译器不推断 System.out::println 功能接口(interface)

我有一个重载方法,它采用两个不同的功能接口(interface)作为参数(Runnble和Supplier)。System.out.println显然只兼容Runnable,因为它是一个void方法。然而编译器仍然声称调用是不明确的。这怎么可能?importjava.util.function.Supplier;publicclassGenericLambdas{publicstaticvoidmain(String[]args){wrap(System.out::println);//Compilererrorherewrap(()->{});//Noerrorwrap(System