我记得有一个数据结构保证某个字符串只能接收特定的值,它的工作原理就像一个接口什么的。我不记得这个数据结构的确切名称,也不容易找到它。
让我试着解释一下上下文。
假设我有一个名为 Foo 的类,其中包含参数位置。
Class Foo {
public static final String TOP = "TOP";
public static final String BOTTOM = "BOTTOM";
public static final String MIDDLE = "MIDDLE";
private String position;
Foo(String position){
this.position = position;
}
}
如果我分配值顶部、底部或中间的位置,位置将被接受。如果我分配另一个值,它将引发异常。
new Foo(Foo.TOP) // OK
new Foo(Foo.MIDDLE) // OK
new Foo(Foo.BOTTOM) // OK
new Foo("anystring") // Throws Exception.
我知道我可以做一个简单的if else或switch并抛出一个异常,但是我想找到这个特定的数据结构。
你应该用enum来解决这个问题。
Class Foo {
public static enum Position {TOP, BOTTOM, MIDDLE};
private Position position;
Foo(String position){
this.position = Position.valueOf(position);
}
}
但请记住:枚举不是String
。但是在枚举上,您可以调用toString()
,也可以像我一样将String
解析为enum
。
在我的班级中,我有一个属性: 并希望将其设置为: 设置此设置时,我会得到错误
我是打字新手。我正在使用Express、Node和Typescript进行备份。我有一个具有类型的对象: 我正在创建一个新的水果实例,从JSON文件中重新创建水果类型并填充它 这会产生一个错误。我知道我得到这个错误是因为我分配了一个未知字符串而不是Enum值。我假设解决方案是在将水果类型指定给FruitType对象之前,以某种方式检查水果类型是否为其中一个值。如何修复此错误?
当我将接口的任何属性设置为可选时,我会在将其成员分配给其他变量时遇到如下错误: 我如何绕过这个错误?
我正在我的项目中使用AWS,我只想使在属性文件中可配置。 因此接受类似于的枚举值。 我尝试在中分配它: 这就是不行。它给了我这个: java.lang.IllegalStateException:无法将类型[java.lang.String]的值转换为所需类型[com.amazonaws.regions.regions]:找不到匹配的编辑器或转换策略
本文向大家介绍C#按特定字符分割字符串,包括了C#按特定字符分割字符串的使用技巧和注意事项,需要的朋友参考一下 示例
我有一根这样的绳子 我将根据字符串中的逗号(',')拆分字符串。但是我需要在<我尝试了很多方法,但都没有成功。请帮帮我。