首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将map定义为常量对象,而不是在将反复创建的方法中定义

要将map定义为常量对象,可以使用Java中的Collections.unmodifiableMap()方法来实现。该方法返回一个不可修改的Map对象,即常量对象。

下面是一个示例代码:

代码语言:txt
复制
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

public class ConstantMapExample {
    private static final Map<String, Integer> CONSTANT_MAP;

    static {
        Map<String, Integer> tempMap = new HashMap<>();
        tempMap.put("key1", 1);
        tempMap.put("key2", 2);
        tempMap.put("key3", 3);
        CONSTANT_MAP = Collections.unmodifiableMap(tempMap);
    }

    public static void main(String[] args) {
        // 尝试修改常量Map会抛出UnsupportedOperationException异常
        // CONSTANT_MAP.put("key4", 4);

        // 访问常量Map
        System.out.println(CONSTANT_MAP.get("key1")); // 输出: 1
        System.out.println(CONSTANT_MAP.get("key2")); // 输出: 2
        System.out.println(CONSTANT_MAP.get("key3")); // 输出: 3
    }
}

在上述示例中,我们使用静态代码块来初始化一个临时的HashMap,并将其传递给Collections.unmodifiableMap()方法来创建一个不可修改的常量Map对象。最后,将该常量Map赋值给CONSTANT_MAP变量。

通过这种方式,我们可以确保CONSTANT_MAP是一个常量对象,不可被修改。如果尝试修改该Map,会抛出UnsupportedOperationException异常。

这种方式适用于需要在多个方法中共享同一个不可修改的Map对象的场景,避免了在每个方法中重复创建Map的开销。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券