JavaFX没有Pair类?三种方案助你轻松驾驭键值对

在JavaFX开发中,您是否曾为缺少一个方便的Pair类而苦恼?详细介绍了解决这一痛点的三种实用方案:利用Java标准库的AbstractMap.SimpleEntry实现可变键值对,引入Apache Commons Lang的Pair构建不可变键值对,或根据项目需求自定义简易Pair类。无论您的项目需要何种特性,都能找到最合适的键值对管理策略,让JavaFX开发更加高效顺畅。

在JavaFX项目中,开发者有时可能需要使用键值对(key-value pair)这样的数据结构,但JavaFX本身并没有提供一个名为javafx.util.Pair的类。探讨几种替代方案,以解决在JavaFX中使用类似Pair结构的需求。

使用Java标准库中的AbstractMap.SimpleEntry

Java标准库中的java.util.AbstractMap.SimpleEntry类提供了一个简单的键值对实现,是可变的。以下是使用示例:

import java.util.AbstractMap;

public class Main {
    public static void main(String[] args) {
        AbstractMap.SimpleEntry<String, String> entry = new AbstractMap.SimpleEntry<>("key", "value");
        System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
    }
}

代码解释

  • 创建一个SimpleEntry对象,传入键和值。
  • 使用getKey()getValue()方法获取键和值。

使用Apache Commons Lang库中的Pair类

Apache Commons Lang库提供了一个Pair类,用于创建不可变的键值对。要使用这个类,需要在项目中添加Apache Commons Lang的依赖。

Maven依赖配置

<!-- 在pom.xml中添加Apache Commons Lang依赖 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>

使用示例

import org.apache.commons.lang3.tuple.Pair;

public class Main {
    public static void main(String[] args) {
        Pair<String, String> pair = Pair.of("key", "value");
        System.out.println("Key: " + pair.getKey() + ", Value: " + pair.getValue());
    }
}

代码解释

  • 使用Pair.of()静态方法创建一个不可变的Pair对象。
  • 使用getKey()getValue()方法获取键和值。

自定义一个Pair类

如果不想引入第三方库,也可以自己定义一个简单的Pair类。

自定义Pair类

public class Pair<K, V> {
    private final K key;
    private final V value;

    public Pair(K key, V value) {
        this.key = key;
        this.value = value;
    }

    public K getKey() {
        return key;
    }

    public V getValue() {
        return value;
    }

    @Override
    public String toString() {
        return "Pair{" +
                "key=" + key +
                ", value=" + value +
                '}';
    }
}

public class Main {
    public static void main(String[] args) {
        Pair<String, String> pair = new Pair<>("key", "value");
        System.out.println(pair);
    }
}

代码解释

  • 定义一个泛型Pair类,包含键和值两个私有成员变量。
  • 提供一个构造函数来初始化键和值。
  • 提供getKey()getValue()方法来获取键和值。
  • 重写toString()方法以便于打印。

在JavaFX项目中,如果需要使用键值对这样的数据结构,可以选择使用Java标准库中的AbstractMap.SimpleEntry、Apache Commons Lang库中的Pair类,或者自定义一个Pair类。根据项目的具体需求和依赖管理策略,选择最适合的方案。

lcjmSSL支持通配符证书申请,一张证书即可保护主域名及其所有子域名。无论是多级业务系统,还是微服务架构,都能通过通配符证书实现统一管理,大幅降低证书数量与维护成本。

posted @ 2026-03-27 17:44  枫唐  阅读(5)  评论(0)    收藏  举报