- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的灵感来自java.sql.SQLException: Data truncated for column 'gender' at row 1 for enum .
我有这个枚举
public enum MyEnum {
Value1,
Value2;
}
以及此示例代码:
MyEnum raw = MyEnum.Value1;
Enum<MyEnum> wrapped = MyEnum.Value1;
System.out.println(raw);
System.out.println(wrapped);
System.out.println(raw.getDeclaringClass());
System.out.println(wrapped.getDeclaringClass());
System.out.println(Arrays.toString(raw.values()));
System.out.println(wrapped.values());
System.out.println(raw.equals(wrapped));
System.out.println(wrapped.equals(raw));
对于
Enum<MyEnum>
未定义。为了让它发挥作用,我将 Actor 阵容设置为 System.out.println(((MyEnum) wrapped).values());
true
true
令人上瘾的是,用调试器检查,变量共享是相同的对象(相同的对象ID)。
两种类型的声明有何区别?
最佳答案
区别很简单:与之间的区别相同
String foo="bla";
和
Object foo="bla";
<小时/>
Enum<MyEnum>
是 MyEnum
的父类(super class)。因此,当使用父类(super class)时,父类(super class)中已定义的方法可用,但在特定子类中定义的方法在没有类型转换的情况下不可用。当调用特定 enum
中已覆盖的实例方法时类中,子类方法被调用,就像 Java 中一样。
使用Enum<MyEnum>
没有多大意义。使用E extends Enum<E>
然而,通用代码使用的构造能够处理任意 enum
s。喜欢EnumMap
或EnumSet
.
关于java - 将变量声明为 Enum<EnumType> 和 EnumType 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25114306/
我的灵感来自java.sql.SQLException: Data truncated for column 'gender' at row 1 for enum . 我有这个枚举 public en
有一个 hibernate 映射遗留数据库,我想使用 EnumTypes 将包含带空格的字符串常量的某些列映射到某个 Enum 类。 映射: @Entity @Table(name = "OPERAT
这里是 C# 新手。我正在浏览 MSDN,浏览 enum 方法,但我无法分辨 TEnum 和 enumType 之间的区别。 public static bool TryParse( string v
使用 Spring JPA 时,枚举值不会作为 EnumType.STRING 保留,而是作为子实体的 EnumType.ORDINAL 值保留 我的 Employee 实体具有名称、ENUM 字段和
如何为定义映射将设置为 enumType:'identity'? 在Grails 3.3中,enumType成为Enums with id的必需项(对于3.2,它无需任何其他定义即可工作)。 使用枚举
我正在开发 C# 应用程序并且我有以下枚举: public enum TourismItemType : int { Destination = 1, PointOfInteres
首先....我有一个这样的postgres函数: CREATE OR REPLACE FUNCTION auth.MyFunction ( platform autorizacion.e_tipo
这是我写的: public class JavaApplication4 { private RunMode runMode; private enum RunMode {
目前,我的项目使用@Enumerated(EnumType.ORDINAL),所以当我按此列排序时,它是根据枚举中的顺序排序的,这工作正常。但我需要向 enum 添加一些额外的值,这些值需要插入到枚举
我有一个 mysql 表,我在其中存储枚举字符串值。 我的模型有注释: @Enumerated(EnumType.STRING) 我的枚举看起来像: public enum SomeEnum {
我有以下映射: public enum JobType { CLEANER, CRAWLER, ... } public class JobId implements Seriali
(MySQL) 数据库中的评级列的类型为 ENUM('G','PG','PG-13','R','NC-17') (注意破折号)。这: @Entity @Table(name = "movies") p
假设我有一个具有以下字段的域对象: private Map maxValues = new HashMap(); StatType 是一个 Java 枚举。 我如何使用 JPA 映射它? 最佳答案 另
我正在尝试在 Spring MVC 中使用 Hibernate HQL 获取实体列表。查询如下所示: SELECT m FROM MyEntity m where property =:propert
当使用 DataContractSerializer 编写一个带有如下成员的 DataContract 时: [DataMember] public PropertyId PropId { g
我读过很多关于 objective-c 中枚举类型的文章,我发现有很多方法可以定义它们。但是我没有看到正确的方法(如果有的话)来定义一个可以用 CARS.ROLLSROYCE 调用并且不能在代码中仅与
我生活在一场噩梦中,这是一场依赖噩梦;) 我正在测试一个使用 Hibernate 3 的 EJB 应用程序。 我部署它: 在 WebSphere 8(内置于 EAR 中的 EJB JAR)上,这是我想
枚举, public enum CountEnum { ONE, TWO } 实体类, @Entity public class Test { ... @Enumerated(En
所以我一直在使用 Pay Simple SDK。我收到这个错误。有谁知道如何解决这个问题? var customerPayment = new NewCustomerPayment 所以我的模型在 P
我能够存储、检索和查询具有枚举类型的实体(使用 JPA/Hibernate)。枚举字段用 @Enumerated(EnumType.STRING) 注释。 是否可以执行类似 "SELECT a FRO
我是一名优秀的程序员,十分优秀!