Java中如何定义一个常量List

在Java中,我们有时候需要在类中定义一个不可变的常量List。这个常量List在类中可以被多个方法调用,但是不允许被修改。下面我们就来看一下如何定义一个常量List,并且如何在类中使用它。

定义一个常量List

首先,我们需要在类中定义一个常量List。为了使List不可变,我们可以使用Collections.unmodifiableList()方法来创建一个不可变的List。下面是一个示例代码:

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Constants {
    public static final List<String> FRUITS = Collections.unmodifiableList(Arrays.asList("apple", "banana", "orange"));
}

在上面的代码中,我们定义了一个名为FRUITS的常量List,其中包含了三种水果。注意,我们使用Collections.unmodifiableList()方法将Arrays.asList()返回的可变List转换为不可变List。

在类中使用常量List

一旦我们在类中定义了常量List,就可以在类的其他方法中使用它。以下是一个示例代码,演示了如何在同一个类中使用常量List:

public class FruitShop {

    public void displayFruits() {
        System.out.println("Available fruits:");
        for (String fruit : Constants.FRUITS) {
            System.out.println(fruit);
        }
    }

    public boolean hasFruit(String fruit) {
        return Constants.FRUITS.contains(fruit);
    }
}

在上面的代码中,我们创建了一个名为FruitShop的类,其中包含了两个方法。displayFruits()方法用于显示所有可用的水果,而hasFruit()方法则用于检查某种水果是否在常量List中。

序列图

接下来,让我们来看一个表示上述类之间交互的序列图。

sequenceDiagram
    participant FruitShop
    participant Constants
    FruitShop -> Constants: displayFruits()
    FruitShop <- Constants: apple
    FruitShop <- Constants: banana
    FruitShop <- Constants: orange

关系图

最后,我们可以使用ER图来表示常量List和类之间的关系。

erDiagram
    CLASS ||--o|> Constants : contains
    CLASS ||--o|> FruitShop : uses

通过以上步骤,我们成功地在Java类中定义了一个常量List,并且演示了如何在类中使用它。常量List的使用可以帮助我们避免在多个方法中重复定义相同的可变List,提高了代码的可维护性和可读性。希望本文能够帮助您更好地理解如何在Java中定义和使用常量List。