草庐IT

b-Class-Interface

全部标签

java - Java 中的对象 vs Class<T>(vs Class<?>?)?

我是Java的新手。这可能是一个愚蠢的问题——但我无法在任何地方找到答案。如果您想声明一个方法,该方法将接受一个未知对象并对其执行某些操作(例如复制它),那么像这样的方法有什么区别:Tfunc(Classcls){//dosomething}Objectfunc(Objecto){//dosomething}它们有可比性吗?有什么你可以/会用上述方法之一而不是另一个做的吗?Class在哪里?适合吗? 最佳答案 您的代码中的不同之处在于前一个func收到Class(可以是Class)这意味着该方法只接收Class类型。后者接收任何对象

java - Eclipse::间接引用自所需的.class 文件

我遇到了一个奇怪的问题。当我将一些外部JAR添加到类路径时,出现错误“它是从所需的.class文件间接引用的”。但是当我删除所有这些时,我就摆脱了这个错误。这是.classpath的条目如果我需要提供任何其他信息,请告诉我。提前致谢 最佳答案 该错误意味着您有一些Unresolved依赖项,即其中一个jar文件依赖于您尚未添加到类路径中的其他一些jar文件。我相信这是一个副本:Eclipseerror:indirectlyreferencedfromrequired.classfiles?

java - hibernate 映射 : ignore a super class field

我有一个A类和B类publicclassA{intf1;intf2;intf2;}publicclassBextendsA{}我的问题是如何忽略映射到B的表中的字段,例如“f2”? 最佳答案 假设我对您的帖子所做的编辑获得批准,我将尝试回答。在下面的代码中,我忽略了类A中的字段f2,即使用AttributeOverride的B的父类(superclass)。@Entity@AttributeOverride(name="f2",column=@Column(name="f2_col",insertable=false,updatab

java - 智能 : show decompiled class disassembly even when source is present

IntelliJ可以displayanddebugdecompiledclasses当无法找到来源时。有什么方法可以强制调试器使用反汇编而不是源代码,即使找到了源代码,而不是删除源代码?这在源错误(与类不匹配)的情况下很有用。 最佳答案 这是在IntelliJIDEA2016.1中添加的(参见IDEA-144322),现在可以在ShowBytecodeasShowDecompiledClass旁边的View菜单中找到。它仅适用于库类,不适用于项目类。 关于java-智能:showdeco

java - 接口(interface)是否应该定义特定于实现的枚举值?

考虑以下类组织:interfaceRestaurant{publicvoiddine(Objectdish);}classItalianRestaurantimplementsRestaurant{publicvoiddine(Objectdish){//eatwithspoonandforks}}classChineseRestaurantimplementsRestaurant{publicvoiddine(Objectdish){//eatwithchopsticks}}由于两家餐厅提供完全不同的菜肴,在界面中表示dish的type的正确方式(设计方面)是什么?定义一个列出所有意

java - 如何在接口(interface)中实现嵌套的非静态类?

有这门课publicabstractclassMother{publicclassEmbryo{publicvoidecluse(){bear(this);}}abstractvoidbear(Embryoe);}只有当我有一个Mother实例时,我才能创建一个Embryo实例:newMother(){...}.newEmbryo().ecluse();问题:如何将Mother定义为接口(interface)? 最佳答案 嵌套类Embryo在interface中是隐式的static。因此,它无法访问虚拟可调用方法bear,该方法属于

Java:为什么静态接口(interface)方法应该有主体?

我需要一堆带有initialize静态方法的类,而不是运行一些初始化任务的static{...}block。在Java8中,可以定义静态接口(interface)方法,但我不需要它有主体,我只需要知道该类实现了这个静态方法。interfaceInitializable{staticvoidinitialize(){}}classIconsimplementsInitializable{publicstaticvoidinitialize(){//...}//...}在这种情况下使用静态接口(interface)方法的想法有什么问题,为什么不能定义没有主体的接口(interface)静态

java.lang.NoClassDefFoundError : Could not initialize class javax. 媒体.jai.JAI

我最近使用GeoTools开始了我的第一个程序,其中我还使用了JAI-JavaAdvancedImaging1_1_2_01和JDK1_7。在我添加GeoTiffJars之前一切正常。我发现了以下错误Exceptioninthread"main"java.lang.NoClassDefFoundError:Couldnotinitializeclassjavax.media.jai.JAIatorg.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:607)atcom.rgb.PixelExtractor.extrac

java - 为什么 ZonedDateTime 类没有实现 TemporalAdjuster 接口(interface)

我目前正在研究java.timeAPI,我注意到java.time中的大部分类(例如LocalDate、OffsetDateTime)都实现了TemporalAdjuster接口(interface),但ZonedDateTime没有。我只是想知道为什么会这样?为什么要排除ZonedDateTime实现TemporalAdjuster接口(interface)? 最佳答案 TemporalAdjuster通过TemporalAdjuster.adjustInto(Temporal)方法更改另一个时间对象。Temporal接口(int

Java 将参数约束到公共(public)父类(super class)

动机我有一个Either类,表示两种类型之一的值,或语义不同的状态。在某些情况下,无论值是哪个备选方案,对其进行操作都是有值(value)的。问题我想要一个采用Consumer的(非静态)方法,其中T是L的父类(superclass)型和R,其中L和R是类的类型参数。目前,java让我这样做:(静态实现)publicstaticvoidcollapse(Eithere,Consumerop)当然,对于非静态实现,我不能对L施加约束。和R,因为它们已经为相关实例定义。我需要对T施加的那些约束相反,但java不允许我编写以下内容,因为它一次只允许父类(superclass)型或子类型约束中