草庐IT

midi-interface

全部标签

java - 为什么在 Java 8 中向接口(interface)添加默认方法是一个不错的设计选择,有哪些替代方案

这个问题在这里已经有了答案:PurposeofDefaultorDefendermethodsinJava8(5个答案)关闭6年前。我刚刚开始学习Java,所以我很难了解可能的替代方案以及此类设计决策的影响。Java8为接口(interface)添加了默认方法特性,允许接口(interface)有一个实现。这允许在不破坏客户端的情况下使用新方法扩展现有接口(interface),以向后兼容的方式随着时间的推移改进接口(interface)。然而,在给定默认实现的情况下,此类扩展有些受限,并且很可能使用接口(interface)的现有接口(interface)方法或库方法来实现。所以我的

java - 自动生成非泛型接口(interface)实现

我有接口(interface)publicinterfaceObjectBuilder{EbuildObject();}此外,该项目有很多实现接口(interface)的非泛型版本的类。classMyClassBuilderimplementsObjectBuilder{publicMyClassbuildObject(){/**/}}是否可以自动转换所有这些类,以便它们实现接口(interface)的通用版本?对此进行自动重构:classMyClassBuilderimplementsObjectBuilder{publicMyClassbuildObject(){/**/}}Int

java - 方法返回类型以实现多个接口(interface)

是否可以指定一个返回实现两个或多个接口(interface)的对象的方法?假设我们有以下接口(interface):interfaceFooBar{[Foo]&[Bar]getFooBar();}interfaceFoo{voiddoFoo();}intefaceBar{voiddoBar();}FooBar的实现者需要提供方法getFooBar()来返回一个类型的实例,该实例充满了Foo以及栏。到目前为止我尝试的是使用泛型:interfaceFooBar{TgetFooBar()}classSomeImplementorimplementsFooBar{privateFooAndBa

java - 如何使用接口(interface)和 JPA

首先我要说的是,我对JavaEE还很陌生,而且我还没有很强的Java理论背景。我无法理解如何在Java中将JPA与interfaces一起使用。为了说明我发现的难点,我创建了一个非常简单的示例。如果我有两个简单的接口(interface)Person和Pet:publicinterfacePerson{publicPetgetPet();publicvoidsetPet(Petpet);}publicinterfacePet{publicStringgetName();}还有一个实体PersonEntity实现了Person以及一个PetEntity实现了Pet:@Entitypubl

java - 为什么我不能使用已实现接口(interface)的静态方法?

作为专家,您在Java8中知道,接口(interface)可以有静态方法,这些方法本身有实现。正如我在相关教程中所读到的,实现此类接口(interface)的类可以使用其静态方法。但是,我有一个问题,在这里,我用一个比我所拥有的更简单的例子来展示它publicinterfaceInterface1{publicstaticvoidprintName(){System.out.println("Interface1");}}当我实现这样的接口(interface)时publicclassClass1implementsInterface1{publicvoiddoSomeThing(){

java - 如何检查泛型类型是否在java中实现了特定类型的泛型接口(interface)?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Generictypeoflocalvariableatruntime我是Java泛型的新手,来自.NET世界,我习惯于能够编写这样的方法:publicvoidgenericMethod(TgenericObject){if(genericObjectisIList){//Dosomething...}}该方法接受通用类型的对象,并检查该对象是否实现了通用接口(interface)的特定版本IList,在这种情况下,IList.现在,在Java中,我可以做到这一点:publicvoidgenericMetho

java - 为什么Java List接口(interface)不支持getLast()?

我正在尝试了解Java标准集合库中API的不一致。List或AbstractList中没有获取最后一项的方法,尽管可以使用size和getIndex()来模拟它。但是,LinkedList支持该功能。知道为什么决定不在界面中支持此方法吗? 最佳答案 java.util.List接口(interface)不支持getLast(),因为设计者追求的是“最小接口(interface)”。由于定义的方法数量最少,因此更容易理解和更快地学习。这与“人性化界面”(例如在Rubyarrayclass中使用的界面)形成对比,后者试图提供执行常见操作

java - 接口(interface)可以扩展 Serializable 接口(interface)吗?

是否可以创建一个扩展Serializable接口(interface)的接口(interface)?如果是,那么扩展接口(interface)的行为是否会像Serilizable接口(interface)一样?如果不是,为什么? 最佳答案 是的,您可以扩展Serializable接口(interface)。如果这样做,所有实现新子接口(interface)的类也将实现Serializable。 关于java-接口(interface)可以扩展Serializable接口(interfac

java - 泛型 : Inheriting from an abstract class that implements an interface

我有以下界面:publicinterfaceSingleRecordInterface{publicvoidinsert(Tobject);}我有下面的抽象类(没有提到插入方法):publicabstractclassAbstractEntryimplementsSingleRecordInterface{}我有具体的类:publicclassSpecificEntryextendsAbstractEntry{publicvoidinsert(SpecificEntryBeanentry){//stuff}}最后,SpecificEntryBean定义为:publicclassSpec

java - 检查泛型 T 是否实现接口(interface)

所以我在Java中有这个类:publicclassFoo{}在这个类中,我想知道T是否实现了某个接口(interface)。以下代码不起作用,但它是我想要完成的想法:if(T.classimplementsSomeInterface){//dostuff}所以我想检查传递给Foo的类T是否在其签名上有implementsSomeInterface。这可能吗?怎么办? 最佳答案 泛型,奇怪的是,使用extends对于接口(interface)也是如此。1你会想要使用:publicclassFoo{//useTasyouwish}这实际