ref[move]: move NumberUtils

This commit is contained in:
godotg
2023-09-02 19:43:23 +08:00
parent 793319298a
commit 4d015a1fb8
5 changed files with 5 additions and 80 deletions
@@ -27,7 +27,7 @@ import com.zfoo.protocol.serializer.CodeLanguage;
import com.zfoo.protocol.util.DomUtils;
import com.zfoo.protocol.util.StringUtils;
import com.zfoo.protocol.xml.XmlProtocols;
import com.zfoo.util.math.NumberUtils;
import com.zfoo.protocol.util.NumberUtils;
import io.netty.buffer.ByteBuf;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,7 +13,6 @@
package com.zfoo.protocol.collection;
import com.zfoo.protocol.collection.model.NaturalComparator;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.util.AssertionUtils;
import com.zfoo.protocol.util.IOUtils;
@@ -131,11 +130,11 @@ public abstract class CollectionUtils {
* @return a new sorted List, containing the elements of Collection a and b
*/
public static <T extends Comparable<? super T>> List<T> collate(List<? extends T> aList, List<? extends T> bList) {
return collate(aList, bList, NaturalComparator.getInstance(), true);
return collate(aList, bList, Comparator.naturalOrder(), true);
}
public static <T extends Comparable<? super T>> List<T> collate(List<? extends T> aList, List<? extends T> bList, boolean includeDuplicates) {
return collate(aList, bList, NaturalComparator.getInstance(), includeDuplicates);
return collate(aList, bList, Comparator.naturalOrder(), includeDuplicates);
}
public static <T> List<T> collate(List<T> aList, List<T> bList, Comparator<T> comparator) {
@@ -1,72 +0,0 @@
/*
* Copyright (C) 2020 The zfoo Authors
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and limitations under the License.
*/
package com.zfoo.protocol.collection.model;
import java.util.Comparator;
public class NaturalComparator<E extends Comparable<? super E>> implements Comparator<E> {
/**
* The singleton instance.
*/
private static final NaturalComparator<?> INSTANCE = new NaturalComparator<>();
//-----------------------------------------------------------------------
/**
* Constructor whose use should be avoided.
* <p>
* Please use the {@link #getInstance()} method whenever possible.
*/
public NaturalComparator() {
super();
}
//-----------------------------------------------------------------------
/**
* Gets the singleton instance of a ComparableComparator.
* <p>
* Developers are encouraged to use the comparator returned from this method
* instead of constructing a new instance to reduce allocation and GC overhead
* when multiple comparable comparators may be used in the same VM.
*
* @param <E> the element type
* @return the singleton ComparableComparator
*/
public static <E extends Comparable<? super E>> NaturalComparator<E> getInstance() {
return (NaturalComparator<E>) INSTANCE;
}
//-----------------------------------------------------------------------
/**
* Compare the two {@link Comparable Comparable} arguments.
* This method is equivalent to:
* <pre>((Comparable)obj1).compareTo(obj2)</pre>
*
* @param a the first object to compare
* @param b the second object to compare
* @return negative if obj1 is less, positive if greater, zero if equal
* @throws NullPointerException if <i>obj1</i> is <code>null</code>,
* or when <code>((Comparable)obj1).compareTo(obj2)</code> does
* @throws ClassCastException if <i>obj1</i> is not a <code>Comparable</code>,
* or when <code>((Comparable)obj1).compareTo(obj2)</code> does
*/
@Override
public int compare(final E a, final E b) {
return a.compareTo(b);
}
}
@@ -1,6 +1,5 @@
/*
* Copyright (C) 2020 The zfoo Authors
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
@@ -11,11 +10,9 @@
* See the License for the specific language governing permissions and limitations under the License.
*/
package com.zfoo.util.math;
package com.zfoo.protocol.util;
import com.zfoo.protocol.collection.ArrayUtils;
import com.zfoo.protocol.util.AssertionUtils;
import com.zfoo.protocol.util.StringUtils;
import java.math.BigDecimal;
import java.math.RoundingMode;
@@ -13,6 +13,7 @@
package com.zfoo.util.math;
import com.zfoo.protocol.util.NumberUtils;
import com.zfoo.protocol.util.StringUtils;
import java.math.BigDecimal;