草庐IT

INTERFACE

全部标签

java - 为什么在 Spring AOP 中将对象包装到实现接口(interface)的 JDK 代理中?

我正在学习Spring,我有以下内容考虑以下bean定义:现在考虑声明为pointcut*的情况,目标是**clientServicebean中的所有方法。还要考虑ClientServiceImpl类实现3个接口(interface)现在我知道使用AOP代理clientServicebean并且该代理实现所有3个接口(interface)。但是实现这三个接口(interface)的确切原因是什么?所以在我看来存在两种代理(如果我说错了断言请纠正我):JDKProxy:默认情况下从Spring使用(是真的吗?)我有一个接口(interface)定义了我想要代理的对象的方法。所以这个接口(

Java8 对具有数千个同名默认方法的接口(interface)进行缓慢编译

给定接口(interface)(非常大并且由语言定义生成):interfaceVisitorA{defaultvoidvisit(ASTA1node){...}...defaultvoidvisit(ASTA2000node){...}}interfaceVisitorBextendsVisitorA{defaultvoidvisit(ASTB1node){...}...defaultvoidvisit(ASTB1000node){...}//duetolanguageembeddingallvisitmethodsofVisitorA//mustbeoverwritten@Overr

java - 有没有办法打印功能界面?

假设我有一个接口(interface):publicinterfaceFunction{doublefunction(doubleinput);}现在,假设我已经在我的主类中的某处创建了这个接口(interface)的一个实例,Functionf=(x)->x;我怎样才能以纯文本打印这个函数?所以,有点像这样:intf(doublex){returnx}在此Function上运行.toString会打印类似Main$1@6d06d69c的内容。我怎样才能获得这个接口(interface)的java表示? 最佳答案 请记住,函数的文本

java - 如何获取间接实现的泛型接口(interface)的实际类型参数?

我有一个以多种不同方式实现的参数化接口(interface)。在运行时,我需要弄清楚,给定一个实现该接口(interface)的任意对象,该接口(interface)的实际类型参数是什么。这里有一个片段来说明这个问题,并尝试解决它(alsoonideone.com):importjava.util.*;importjava.lang.reflect.*;interfaceAwesome{}classBaseimplementsAwesome>{}classChildextendsBase>{}classAwesomeExample{publicstaticvoidmain(String

java - 如何断言表达式不编译

我编写了一个框架,增加了对其接口(interface)进行类型安全调用的可能性。现在,在编写JUnit测试时,我想表明编译器现在会检查先前导致运行时错误的特定表达式。//thisdoesnotcompile,becausenamePropisoftypePropertyIntegername=interface.getProperty(nameProp);可能最好只是简单地注释掉该代码并让它保持原样。我只是想知道是否可以使用一些测试框架来编写类似的东西assertCompilationError(){Integername=interface.getProperty(nameProp)

java - 实现不兼容的接口(interface)

这个问题在这里已经有了答案:interfaceandinheritance:"returntypeintisnotcompatible"(4个答案)关闭9年前。我正在尝试构建一个实现Queue和Map的类。两个接口(interface)都定义了remove(Object)方法,但返回类型不同:publicinterfaceCollection{//QueueextendsCollection,whichhastheproblemmethodpublicbooleanremove(Objecte);//...}publicinterfaceMap{publicVremove(Kkey);

java - 记录线程安全(Java + 注释)

我正在尝试更新一个使用依赖注入(inject)的应用程序,在这样做时,我正在尝试使用“线程安全”注释记录每个类(需要它),供其他编码人员和错误检查员使用。如果我有服务类,如下:@ImplementedBy(FooImpl.class)publicinterfaceFooSrvc{}及其相关的实现classFooImplimplementsFooSrvc{}*我是否应该使用线程安全注释来记录或注释接口(interface)和具体实现?只是服务,因为它是公开的,所以只是实现?*例如对于两者:@javax.annotation.concurrent.ThreadSafe@org.checkt

java - 用抽象方法覆盖默认接口(interface)方法

我觉得它很奇怪,想知道它是否是经常使用的东西。什么时候有用?publicinterfaceInterA{ObjectgetInfo()throwsException1;}publicinterfaceInterB{publicdefaultIntegergetInfo(Objects){return67;}}publicinterfaceInterCextendsInterA,InterB{@OverridepublicabstractIntegergetInfo(Objects);} 最佳答案 这在默认接口(interface)方

Java - 为什么将数组声明为一种接口(interface)类型?

这是来自MarkWeiss教授在他的书Java中的数据结构和算法分析publicclassBinaryHeap>{privatevoidenlargeArray(intnewSize){AnyType[]old=array;array=(AnyType[])newComparable[newSize];for(inti=0;i我想知道为什么我们要声明一个具有Comparable接口(interface)类型的数组,因为我们必须将Comparable[]转换为AnyType[]?有什么设计理念吗? 最佳答案 设计“哲学”是不能实例化一

java - 如何从@ComponentScan 包中获取接口(interface)列表

我想实现类似于SpringData的东西。开发人员可以定义一些接口(interface),向接口(interface)添加自定义注释以标记它们,(我的代码将为接口(interface)创建Proxy实例)并通过@Autowire将它们用于必要的服务。在spring初始化期间,我需要获取所有接口(interface)的列表(正确注释)代理创建,创建的bean注入(inject)没问题。现在的问题:如何找到所有接口(interface)的列表?它们可以放在任何包中(甚至放在单独的jar中)并具有任何名称。扫描类路径中存在的所有类需要太多时间。我找到了thequestion但它需要基础包才能