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

浙公网安备 33010602011771号