草庐IT

multiple-interface-implem

全部标签

java - 在 Stream API 中使用 AutoClosable 接口(interface)

这个问题在这里已经有了答案:Java8Streamoffiles,howtocontroltheclosingoffiles?(5个答案)关闭5年前。今天我尝试重构这段代码,它从目录中的文件中读取id,Setids=newHashSet();for(StringfileName:fileSystem.list("my-directory")){InputStreamstream=fileSystem.openInputStream(fileName);BufferedReaderbr=newBufferedReader(newInputStreamReader(stream));Str

generics - 用于处理泛型参数的 JDK 接口(interface)

是否有来自JDK的界面看起来像这样:publicinterfaceCallback{publicvoidprocess(Tt);}要求是实现一个运行代码但不返回任何内容的回调。我可以自己编写(通过简单地使用此处的示例代码),但我想使用现有的轮子(如果存在的话),而不是重新发明一个。 最佳答案 所以你需要类似的东西interfaceFoobar(T)JDK中只有3个接口(interface)是这样的java.nio.file.DirectoryStream$Filterbooleanaccept(Tentry)throwsIOExce

java - 为什么#clone() 不在 Cloneable 接口(interface)中?

我正在阅读如何正确执行数组的深层复制,但是我对#clone()的实现方式感到困惑。它是java.lang.Object类的成员,但如果您阅读javadocs:First,iftheclassofthisobjectdoesnotimplementtheinterfaceCloneable,thenaCloneNotSupportedExceptionisthrown.那么为什么首先要在那里定义clone方法呢?当然,如果一个方法只能在存在接口(interface)时使用,那么您应该将该方法放在接口(interface)中。Cloneable接口(interface)本身是空的;它只是J

java - 需要抽象类和接口(interface)?

接口(interface)是一个100%的抽象类,因此我们可以使用接口(interface)进行高效的编程。有没有抽象类比接口(interface)更好的情况? 最佳答案 当你打算创建一个具体类时,使用抽象类,但要确保所有子类中都有一些公共(public)状态或某些操作的可能通用实现。接口(interface)不能包含任何一个。 关于java-需要抽象类和接口(interface)?,我们在StackOverflow上找到一个类似的问题: https://st

java - 为什么 Java 需要接口(interface)而 Smalltalk 不需要?

我用Smalltalk编程已经有一段时间了,但我从来不需要接口(interface)来实现任何东西。那为什么像Java这样的语言就不能摆脱接口(interface)呢?它只是Smalltalk还是有另一种不需要接口(interface)的语言? 最佳答案 因为Java是静态类型的,而Smalltalk不是。当您不声明类型并且您的变量不会被类型检查时,接口(interface)没有任何作用。但在像Java这样的静态类型语言中,它们非常方便,因为它们让您拥有一个变量,其类型由对象实现的方法而不是其类定义。它让您更接近Smalltalk原

java - 集合框架中的接口(interface)

我的问题是接口(interface)Set有方法add(Ee)并且它扩展了接口(interface)Collection。接口(interface)Collection也有方法add(Ee)那么为什么我们需要在接口(interface)Set中使用相同的方法,因为它已经扩展了接口(interface)Collection。什么目的?我坚持这一点 最佳答案 既然两个正确答案都不能说服你,那我就试着解释一下。接口(interface)定义契约-即它们定义什么实现者将要(和绑定(bind))做什么,这样你就知道无论何时你通过接口(inte

java - 在java中使用接口(interface)或类型定义变量?

ArrayListaList=newArrayList();ListaList=newArrayList();这两者有什么区别,哪个更好用,为什么? 最佳答案 List是一个接口(interface),而ArrayList是该接口(interface)的一个实现。第二个更好,因为它意味着您可以稍后更改ArrayList以实现List的另一个实现,而无需更改应用程序的其余部分。出于性能原因,或者由于您选择/将选择的List实现行为的其他方面,您可能希望这样做。 关于java-在java中使

java - LibUsb 声明接口(interface)访问被拒绝 Java

我希望能够从USB计步器读取数据。我在Java中尝试这个,我正在使用LibUsb和Usb4Java库。我似乎无法索取USB管道或类似的东西。我使用的代码:finalContextcontext=newContext();intresult=LibUsb.init(context);if(resultIntres返回'-3'即'LIBUSB_ERROR_ACCESS'设备已找到但不可领取。USB设备只有1个接口(interface)。如有任何帮助,我们将不胜感激! 最佳答案 LibUsb需要root权限才能访问USB设备。在Mac中,

java - MVP:View 应该实现 Presenter 的接口(interface)还是相反?

我正在使用GWT迈出第一步。看完有疑问:LargescaleapplicationdevelopmentandMVPLargescaleapplicationdevelopmentandMVP-PartII在第一个示例中,Presenter定义了View的接口(interface)。publicclassContactsPresenterimplementsPresenter{...publicinterfaceDisplayextendsHasValue>{HasClickHandlersgetAddButton();HasClickHandlersgetDeleteButton()

java - 为什么在未使用的代码中包含对缺失接口(interface)的方法调用的类会导致 Java 类加载错误?

我看到一些类加载行为似乎与JVM规范不一致,我想知道这是否是一个错误。如果没有,希望有人能解释原因。下面的示例代码只是从其main方法中打印hello。它有一个未使用的方法,其中包含对方法的方法调用,该方法声明它采用“C”(接口(interface))作为参数。当main执行时(类路径中没有A、B和C)为接口(interface)C抛出ClassNotFound错误。(注意C在运行时实际上从来不需要,因为它只是在从不执行的方法中引用)。这似乎违反了JVM规范JavaVM规范第2版第2.17.1节说:Theonlyrequirementregardingwhenresolutionisp