List<String> list = Arrays.asList("CUSTOMER", "SUPPLIER"); if (!list.contains(eiRole)) { throw new ServiceException("企业角色不合规定"); }使用枚举方式重写
时间: 2024-02-23 18:00:06 浏览: 27
可以使用枚举来重写上述代码,如下所示:
```
public enum EIRole {
CUSTOMER,
SUPPLIER;
}
// 在使用该枚举的代码处,可以这样使用:
EIRole eiRole = EIRole.CUSTOMER;
List<EIRole> list = Arrays.asList(EIRole.CUSTOMER, EIRole.SUPPLIER);
if (!list.contains(eiRole)) {
throw new ServiceException("企业角色不合规定");
}
```
这样通过使用枚举类型,可以更加清晰地表达代码的意图,避免出现拼写错误等问题,提高代码的可读性和可维护性。
相关问题
list<string> initlist = arrays.aslist
“list<string> initlist = arrays.asList” 是一句Java代码,用于初始化一个包含字符串元素的列表。它的作用是将一个字符串数组转化为一个具有相同元素的列表对象。
在这个代码中,"list<string>" 表示这是一个泛型列表(List),其中存储的元素类型是字符串(String)。
"initlist" 是我们给这个列表对象起的变量名,可以根据需求自由命名。
"arrays.asList" 是引用了Java的Arrays类中的一个静态方法,即asList方法。这个方法的作用是将一个数组转换为一个固定长度的列表。
示例代码如下:
```java
import java.util.List;
import java.util.Arrays;
public class Example {
public static void main(String[] args) {
String[] strArray = {"apple", "banana", "orange"};
List<String> initlist = Arrays.asList(strArray);
System.out.println(initlist); // 打印列表元素
}
}
```
在上述示例代码中,我们定义了一个字符串数组strArray,包含了三个元素"apple"、"banana"和"orange"。
然后,我们将这个数组通过Arrays.asList方法转化成了一个列表对象,并将它赋值给了initlist变量。
最后,我们打印输出了这个列表对象的元素,即["apple", "banana", "orange"]。
需要注意的是,通过Arrays.asList方法得到的列表是一个固定长度的列表,也就是说不能进行增删元素的操作。如果尝试进行增删操作,会抛出UnsupportedOperationException异常。如果需要对元素进行增删操作,可以考虑将这个固定长度的列表转化为一个可变长度的列表,例如ArrayList。
List<Object> list = Arrays.asList(array);转为List<String> list = Arrays.asList(array);
要将`List<Object> list`转换为`List<String> list`,可以使用以下代码:
```
List<Object> list = Arrays.asList(array);
List<String> stringList = list.stream()
.map(String::valueOf)
.collect(Collectors.toList());
```
这里,我们首先将`List<Object>`转换为流,并使用`map`方法将流中的每个元素转换为字符串类型。然后,使用`collect`方法将转换后的元素收集到新的`List<String>`中。最后,你可以使用`stringList`进行进一步的操作。