【JAVA自学笔记,枚举】教程文章相关的互联网学习教程文章

java-通过传递预设序号来获取枚举值【代码】

我看了这个链接:Convert from enum ordinal to enum type 并尝试获取枚举值.但是没有用.我的枚举类是:public enum OrderStatus {OPEN(0),DELIVERED(1),CANCELLED(3),PARTIALLY(4) }我将传递值0,1,3,4,其中2丢失了,所以它没有这样的顺序.如何通过在groovy或java中传递0、1、3或4获得枚举.解决方法:向枚举添加一个字段,并添加一个构造函数:public enum OrderStatus {private Integer codice;public Integer getCodice() {return c...

java-调用通用枚举的getter【代码】

我需要调用字段访问器方法,即通用枚举的getter,但无法弄清楚如何调用这些方法,或更具体地说,如何将通用枚举作为传递方法的参数. 在此先感谢您的帮助. 这就是我想或多或少要做的事情.public void(Class<? extends Enum<?>> enumType) {Enum<?>[] enumConstants = enumType.getEnumConstants();String[] text = new String[enumConstants.length];String[] names = new String[enumConstants.length];for (int i = 0; i < enumConst...

java-静态valueOf()方法的意义是什么? (枚举)【代码】

我正在学习枚举,但不了解此方法的用途. 例:enum Fruits{apple, pear, orange }class Demo{f = Fruits.valueOf("apple"); //returns apple... but I had to type it!// so why wouldn't I save myself some time// and just write: f = Fruits.apple; !?} 解决方法:valueOf方法的重点是为您提供一种获取以字符串形式呈现给程序的Fruits值的方法-例如,当值来自配置文件或用户输入时:String fruitName = input.next(); Fruits f...

java-将抽象类扩展为枚举-策略模式【代码】

我正在尝试在Java中使用设计模式Strategy.因此,我有一个名为Nenuphare的抽象类,它使用一些接口(Mort,AlternationEtat和ModifPV),并且我必须创建5种类型的Nenuphare.如果我是对的,那么我必须保留Nenuphare作为抽象类,否则我想保留在设计模式Strategy中.最简单的方法是创建5个实现Nenuphare的类,并为每个类更改Mort,AlternationEtat和ModifPV.但是我必须用枚举来做到这一点.不幸的是,枚举不能扩展类,因为它已经扩展了枚举类型. 这是我...

具有相同名称的Java枚举和字段【代码】

我最近重构了一些代码,最终遇到了奇怪的编译器错误class CustomerContract{public enum BillingTerm{MONTHLY,QUARTERLY,YEARLY;}public String BillingTerm = ""; }class SalesProposal{public String billingCycles(){String message = "We have several billing cycles available: \n";for(CustomerContract.BillingTerm term : CustomerContract.BillingTerm.values()){message += " - " + term.toString() + "\n";}return mess...

java-枚举的休眠char列【代码】

我将“性别”列作为VARCHAR(1)/ CHAR.如何使用@Entity类中的值(MALE,FEMALE)将值“ M” /“ F”解析为java枚举,而无需使用@Column(name="gender") private Character cGender;并将其手动转换为枚举对象?解决方法:您需要提供自己的转换器:@Convert(converter = GenderConverter.class) @Column(name="gender") private Gender gender;然后实施public class GenderConverter implements AttributeConverter<Gender, Character> {@O...

java-Dynamodb-转换枚举器集合【代码】

有没有办法转换枚举的集合?我已经尝试了以下方法,但均未成功:@DynamoDBTypeConvertedEnum @DynamoDBAttribute(attributeName="myEnums") private Collection<MyEnum> myEnums;解决方法:为了将其保存为集合(即字符串集),请使用具有SS属性类型的@DynamoDBTyped批注.@DynamoDBTyped(DynamoDBAttributeType.SS) @DynamoDBAttribute(attributeName = "myEnums") public Set<MyEnum> getMyEnums() {return myEnums; }

java-比较枚举的值【代码】

实现后缀计算器的前缀,并且需要检查运算符的优先级是否比其他运算符低.这是我到目前为止的内容:public enum Operators {ADD('+', 2), SUBTRACT('-', 2), MULTIPLY('*', 4), DIVIDE('/', 4);private char operator;private int precedence;Operators(char operator, int precedence) {this.operator = operator;this.precedence = precedence;}public char getOperator() {return operator;}public int getPrecedence() {return pr...

.Net(C#)枚举重写为Java【代码】

我在.Net中有一个枚举.如何用Java重写此Enum? 这是枚举:public enum AdCategoryType : short {ForSale = 1,ForBuy = 2,ForRent = 8,WantingForRent = 16,WorkIsWanted = 32, WorkIsGiven = 64 }解决方法:这使您得到枚举:public enum AdCategoryType {ForSale(1),ForBuy(2),ForRent(4),WantingForRent(8),WorkIsWanted(16),WorkIsGiven(32);private final int value;AdCategoryType(int value) {this.value = value;}public int ...

Java-Android:如何将枚举标签而不是enum.values()添加到微调器?【代码】

我正在尝试制作一个微调列表,我的用户可以在其中基于枚举“语言”类选择语言翻译. 添加“ Language.values()”即可,但微调框显示的是“ af”而不是“ AFRIKAANS”我想要微调器和onItemSelected中显示的“ AFRIKAANS”名称,我想要获取“ af”值. 这可能吗?public enum Language {AUTO_DETECT(""),AFRIKAANS("af"),ALBANIAN("sq"),AMHARIC("am") ....and so no..请参阅此处的hold enum类:http://code.google.com/p/google-api-tran...

Java枚举类【代码】

我正在实现枚举类,该类将用于检索应用程序中的某些背景,该类的当前实现在这里:public enum Painters{/*** Available painters.*/Background(getBackgroundPainter()),InactiveBackground(getInactiveBackgroundPainter()),DesktopBackground(getBackgroundPainter());/*** The background painter.*/private Painter<Component> _painter;/*** Constructor will initialize the object.*/Painters(Painter<Component> painter){_p...

java-枚举类型中的方法可以更改枚举实例的状态吗?

如果Enums是摆脱编译时间常数的答案,那么语言设计者为什么要提供让任意方法和字段以及在Enums上实现任意接口的工具?这些方法永远无法更改Enum实例的状态,或者可以吗?如果允许它们更改状态,则Enum类型的不变式(即一些输出一些常量的类型)将破坏恕我直言.解决方法:Java枚举实际上只是经过编译器和运行时特殊处理的类.因此,是的,对枚举实例的方法调用当然可以更改其状态.我不确定您的意思是“那么Enum类型的不变性,即输出一些常量的...

java-枚举静态数组和注释值的混淆【代码】

我有枚举:public enum Scope {USER, GLOBAL;public static final Scope[] TRANSIENT = {};public static final Scope[] USER_OVER_GLOBAL = {GLOBAL, USER};public static final Scope[] GLOBAL_OVER_USER = {USER, GLOBAL}; }和注释:public @interface Config {public Scope[] load() default Scope.GLOBAL_OVER_USER; // Can't use this defvalpublic Scope[] save() default Scope.USER; }为什么我不能使用静态数组作为注释属...

java-在Spring Bean中定义枚举映射【代码】

我试图在我的Spring beans xml中定义一个枚举映射,但是我希望它在xml中填充,但是当我尝试像这样定义它时<bean class = "java.util.EnumMap"><constructor-arg><util:map key-type="org.itemlist.products.stockitem"><entry key="stockitem.SOAP">100</entry></util:map> </constructor-arg>更新 这是我的bean配置<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="h...

java-枚举类型引用或基元(带有示例)-浅/深复制【代码】

我的问题很基本,但是我想100%理解所有内容. SO中的许多问题都与我的帖子有关,但我找不到令人满意的答案. 我们知道Java中的Enums是引用类型.让我们考虑以下代码段:public static class A {public int i;public A(int i) {this.i = i;} }public static class Test {int i;A a;public Test(int i, A a){this.i = i;this.a = a;}public Test(Test oldTest){this.i = oldTest.i;this.a = oldTest.a;} }public static void main(String...