草庐IT

b-Class-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但它需要基础包才能

java - @ExceptionHandler(Exception.class) 不处理所有类型的异常

我正在尝试使用@ExceptionHandler(Exception.class)处理所有类型的异常。但它并没有处理所有类型的异常。当我尝试从postman/浏览器访问错误的HTTP方法时,我没有收到任何响应,空白页面即将到来。谁能告诉我为什么我没有收到任何回复,或者告诉我我的代码是否做错了什么?@Order(Ordered.HIGHEST_PRECEDENCE)@ControllerAdvicepublicclassRestExceptionHandlerextendsResponseEntityExceptionHandler{@ExceptionHandler(Exception

java - Java 中的 "primitive interface method"是什么?

我正在读《EffectiveJava》,这里引用这本书:Theinterfacedefinesthetype,perhapsprovidingsomedefaultmethods,whiletheskeletalimplementationclassimplementstheremainingnon-primitiveinterfacemethodsatoptheprimitiveinterfacemethods.Extendingaskeletalimplementationtakesmostoftheworkoutofimplementinganinterface.Thisisth

java - 模式 : Java class conversion from axis objects

我使用一个轴来自动生成网络服务工件,然后将其转换为我们应用程序中使用的对象。这样做有合理的模式吗?我们已经编写了转换方法来从Axis创建的对象输出我们的对象,在其他时候我们编写了一组中间转换器类来将Axis对象转换为我们的应用程序对象?有解决这个问题的通用方法吗? 最佳答案 如果我没理解错的话,您想使用AxisWSDL2Java功能从WSDL生成代码,然后将其映射到您现有的应用程序对象模型。在这种情况下,您可能需要考虑将Axis与JiBX一起使用绑定(bind)。 关于java-模式:J

java - 带接口(interface)的 Hibernate 一对一映射。我需要建议

我正在开发一个应用程序,其中所有的pojo都作为接口(interface)公开,但我们映射了真正的实现类。我们正在使用spring和JPA注释。我将要测试一对一关系,我正在界面有轻微问题。Causedby:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'sessionContainer'definedinclasspathresource[META-INF/model-config.xml]:Cannotresolvereferencetobean'sessionFact

java - Hibernate 映射的父类(super class)关系和覆盖

我有一个抽象的MappedSuperClass,Participant,它由三种“Participant”扩展。然后每个人都使用自己的“项目”类型,也是一个抽象的MappedSuperClass。但是,我希望基类了解项目,以便我可以编写通用代码来与参与者交互。我如何使用Hibernate注释来指定它?以及如何在ExtendedParticipant和ExtendedProject类中覆盖它?每个参与者类型和每个项目类型都有自己的数据库表,其中包含我无法更改的现有数据和ID(跨表不唯一)。下面的代码给出了IDE错误“多对一的属性不应该是‘映射的父类(superclass)’”。@Mapp

java - getDeclaredMethods() 和隐藏的父类(super class)静态方法

根据http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Class.html#getDeclaredMethods%28%29,Class.getDeclaredMethods()应该只包含“由类声明”的方法。但是,我通过下面的测试代码得到了一些非常令人惊讶的结果:importjava.util.Arrays;classA{publicstaticAm1(){returnnull;}publicstaticAm2(){returnnull;}publicstaticAm3(){returnnull;}}classBext

java 。本地类(class)有什么理由不让它成为 final类吗?

我对Java中的本地类有疑问(在方法中或在{}限定的block中声明的类)。是否有任何理由不将本地类声明为final?我们不能从本地类继承其他类(如果它没有在同一范围内定义),但是当我们将其声明为final时,也许编译器可以使代码更简单?谢谢! 最佳答案 人们似乎对匿名类和本地类有点混淆。这是本地类:publicvoidm(){classMyClass{}MyClasscl=newMyClass();}您可以将MyClass声明为final,但实际上可以从它继承,因此Java中的任何其他地方都可以将其声明为final以避免这种情况:

java - 如何从 IntelliJ 中的接口(interface)生成 java bean 类?

因此,已经有一种方法可以在IntelliJ(v11)中生成类的实现,但它相当简单。它将创建一个类,其中包含满足接口(interface)所需的所有方法。这些方法是空的,并在适当的地方返回null。我正在寻找的是一个插件或将从接口(interface)生成bean的东西。如果生成器在接口(interface)中看到方法getXXXX或setXXX(或isXXX),它将创建该类型的成员并分别在实现的类中获取或返回该成员。 最佳答案 您所能做的就是创建一个实现该接口(interface)的新类,然后告诉IntelliJ实现所有方法。从那时