小编Sja*_*aak的帖子

有没有办法打印多模块maven项目的结构?

我正面临一个相当大的多模块maven项目.我想看看root(父)项目是如何以groupId:artifactId的形式由子项目/子项目组成的(可能有一些标识来反映层次结构).

当然我可以编写自己的插件来获得这个打印输出,但我认为必须有一些可用的架子.

printing structure pretty-print maven multi-module

10
推荐指数
1
解决办法
2784
查看次数

为什么我不能在 java java.lang.Enum 泛型类型定义中重现?

这是一个学术问题,旨在更好地理解泛型在这种情况下的行为。

Enum类型被描述为“所有 Java 语言枚举类型的公共基类”。它的定义是:

public abstract class Enum<E extends Enum<E>>
        implements Comparable<E>, Serializable {

} 
Run Code Online (Sandbox Code Playgroud)

现在,我可以用这个定义定义一个字段:

public class MyClass { 
   public Enum<MyEnum> field;
}
Run Code Online (Sandbox Code Playgroud)

一切都很好。现在,更进一步。因为Enum<MyEnum>显然等同于MyEnum这会让我相信根据定义我也可以写:

public class MyClass { 
   public Enum<Enum<MyEnum>> field;
}
Run Code Online (Sandbox Code Playgroud)

但是现在编译器实际上阻止了我:Type parameter 'java.lang.Enum' is not within its bound; should extend 'java.lang.Enum<MyEnum>>它根据定义进行操作,因为它仍然满足:E extends Enum<E>。当然,您不允许这种重复(或者可能更好,发生)构造的原因有很多,但给出的一个对我来说确实是错误的。

另一方面,如果我要定义一个这样的类(类似于 的定义Enum

public class Wrapper<T extends Number> { 
} 
Run Code Online (Sandbox Code Playgroud)

我将能够编写一个类:

public class Wrapper<T extends Number> { 
} 
Run Code Online (Sandbox Code Playgroud)

我是忽略了什么还是我的分析被误导了?

java generics enums

0
推荐指数
1
解决办法
71
查看次数