diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/offline/YggdrasilServer.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/offline/YggdrasilServer.java index 7e722fa6b..70a9976d3 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/offline/YggdrasilServer.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/offline/YggdrasilServer.java @@ -22,6 +22,7 @@ import org.jackhuang.hmcl.auth.yggdrasil.GameProfile; import org.jackhuang.hmcl.auth.yggdrasil.TextureModel; import org.jackhuang.hmcl.util.KeyUtils; import org.jackhuang.hmcl.util.Lang; +import org.jackhuang.hmcl.util.Pair; import org.jackhuang.hmcl.util.gson.JsonUtils; import org.jackhuang.hmcl.util.gson.UUIDTypeAdapter; import org.jackhuang.hmcl.util.io.HttpServer; @@ -232,12 +233,7 @@ public class YggdrasilServer extends HttpServer { // === properties === @SafeVarargs - public static List properties(Map.Entry... entries) { - return properties(false, entries); - } - - @SafeVarargs - public static List properties(boolean sign, Map.Entry... entries) { + public static List properties(boolean sign, Pair... entries) { return Stream.of(entries) .map(entry -> { LinkedHashMap property = new LinkedHashMap<>(); @@ -248,7 +244,6 @@ public class YggdrasilServer extends HttpServer { } return property; }) - .collect(Collectors.toList()); + .toList(); } - } diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Pair.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Pair.java index c39aaff10..31013444a 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Pair.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Pair.java @@ -17,70 +17,27 @@ */ package org.jackhuang.hmcl.util; -import java.util.Map; -import java.util.Objects; +import org.jetbrains.annotations.NotNull; /** - * * @author huangyuhui */ -public final class Pair implements Map.Entry { +public record Pair(K key, V value) { public static Pair pair(K key, V value) { return new Pair<>(key, value); } - private K key; - private V value; - - private Pair(K key, V value) { - this.key = key; - this.value = value; - } - - @Override public K getKey() { return key; } - public void setKey(K key) { - this.key = key; - } - - @Override public V getValue() { return value; } @Override - public V setValue(V value) { - V original = this.value; - this.value = value; - return original; - } - - @Override - public int hashCode() { - int hash = 7; - hash = 23 * hash + Objects.hashCode(this.key); - hash = 23 * hash + Objects.hashCode(this.value); - return hash; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - final Pair other = (Pair) obj; - return Objects.equals(this.key, other.key) && Objects.equals(this.value, other.value); - } - - @Override - public String toString() { + public @NotNull String toString() { return "(" + key + ", " + value + ")"; } }