我刚刚开始理解Java中的枚举概念,但我仍然对我的理解持怀疑态度。
对于像:方向这样的东西,我可以理解它的用法,我用数字来表示一个方向,但实际上从来不需要用它做算术。
然而,考虑到类似的大小(其中大小是常量,但我需要做算术),最终声明是否更合适?或者试图用
public int getSize()
{
return size;
}
下面是我当前声明的代码:
private static class Size
{
private static final int BOX = 5; //5 pixels
private static final int GRID = 30;
我有Java中的现有实现,必须重写为Rust。
Java代码
enum Direction {
EAST(0), WEST(180), NORTH(90), SOUTH(270);
private Direction(final int angle) {
this.angle = angle;
}
private int angle;
public int getAngle() {
return angle;
}
}
Java代码使用示例
Direction d1 = Direction.EAST;
Dire
我有一些要移植到Java的C++代码。
我的代码看起来像这样@
enum direction {UP, DOWN, LEFT, RIGHT, NEUTRAL};
int LINK[5];
.....
//fill LINK array
.....
if (desired_direction == LEFT ) || (LINK[LEFT] > 0) return true;
if (desired_direction == RIGHT ) || (LINK[RIGHT] > 0) return true;
if (desired_direction == UP ) ||
我想从用户那里获得确切的20个int输入。如何使用列表理解来实现这一点?有一种在C和Java编程语言中使用for循环设置限制的方法。但是,在Python中有什么解决办法来实现这一点吗?
下面是用Python从用户那里获取多个输入的代码行。我怎么才能在这里设定限制呢?请注意,我想把输入放在同一条线上,按空格将它们分开。
int_list = [ int(x) for x in input().split(" ")]
请注意,我并不要求分割列表或迭代次数。
我有一个具有枚举属性的实体:
// MyFile.java
public class MyFile {
private DownloadStatus downloadStatus;
// other properties, setters and getters
}
// DownloadStatus.java
public enum DownloadStatus {
NOT_DOWNLOADED(1),
DOWNLOAD_IN_PROGRESS(2),
DOWNLOADED(3);
private int value;
pri
我来自一个Java背景,我可能有类似于enum Direction { NORTH, SOUTH, EAST, WEST}的东西,我可以用增强的for循环依次对每个值执行一些操作,例如:
for(Direction dir : Direction.values()) {
//do something with dir
}
我也想用锈菌做类似的事。
我们创建Enum类并以完全大写形式编写所有enum成员。
public enum Color {
RED,
YELLOW,
BLACK
}
如何在java中得到大写的值(用大写写单词的第一个字母,用小写写其余的字母)。
意思是,当我获取Color Enum的值时,我应该得到Red,Yellow,Black
在使用Proguard的优化器时,我得到一个运行时错误,如下所示:
java.lang.NullPointerException
at java.util.EnumMap.<init>(Unknown Source)
at Z.a(SourceFile:44415)
在使用ReTrace时,我看到下面这行代码导致了这个问题:
temp = new EnumMap<anEnum, Object>(anEnum.class);
如果我反编译优化后的代码,我会发现以下代码:
line 44414: EnumMap localEnumMap;
line 4441
在D中,我试图创建一个成员有成员的枚举。我可以更好地解释我试图用一个例子来做什么,在这个例子中,s和i代表了我试图创建的子成员:
在Python中,我可以这样做:
class Foo(enum.Enum):
A = "A string", 0
B = "B string", 1
C = "C string", 2
def __init__(self, s, i):
self.s = s
self.i = i
print(Foo.A.s)
Java可以这样做:
public e
在if语句中,我希望将一个变量与一个枚举文字进行比较,该变量是JDK1.5枚举。例如:
<#if type == ProblemStatisticType.BEST_SOLUTION_CHANGED>
...
</#if>
但是我得到了一个例外:
freemarker.core.InvalidReferenceException: Expression ProblemStatisticType is undefined on line 430, column 87 in index.html.ftl.
at freemarker.core.TemplateObjec
下面的代码进行编译: public enum Foo {
A,
B{};
public static void main(String[] args) {
Foo f = Foo.A;
List s = (List)f;
}
} 这个不是: public enum Foo {
A,
B;
public static void main(String[] args) {
Foo f = Foo.A
我有三个层次的实体:
Request.java
@Entity
@Table(name="Request")
@Inheritance(strategy=InheritanceType.JOINED)
@DiscriminatorColumn(name="REQUEST_TYPE", discriminatorType=DiscriminatorType.INTEGER)
@NamedQuery(name="getRequestsById", query="select r from Request r where r.id=:id an
如何从控制台获得java中enum类型的输入?
我有一节课:
class enumTest {
public enum Color {
RED, BLACK, BLUE
}
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
Color color = input.readLine();
public static void main (String[]args) {
switch (color) {
...
在这行Color color = i