添加重载方法。

feature/net-util
ZhouXY108 2023-03-17 18:20:19 +08:00
parent a9bc2bfdc2
commit e3af2bd4e7
3 changed files with 99 additions and 1 deletions

View File

@ -27,7 +27,15 @@ public class NumberUtil {
throw new IllegalStateException("Utility class");
}
public static int sum(int... numbers) {
public static int sum(short... numbers) {
int result = 0;
for (short number : numbers) {
result += number;
}
return result;
}
public static long sum(int... numbers) {
int result = 0;
for (int number : numbers) {
result += number;
@ -42,4 +50,20 @@ public class NumberUtil {
}
return result;
}
public static double sum(float... numbers) {
double result = 0;
for (double number : numbers) {
result += number;
}
return result;
}
public static double sum(double... numbers) {
double result = 0;
for (double number : numbers) {
result += number;
}
return result;
}
}

View File

@ -0,0 +1,39 @@
package xyz.zhouxy.plusone.commons;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
import xyz.zhouxy.plusone.commons.util.Enumeration;
class EnumerationTests {
@Test
void testEnumeration() {
assertEquals(EntityStatus.AVAILABLE, EntityStatus.of(0));
}
}
final class EntityStatus extends Enumeration<EntityStatus> {
private EntityStatus(int value, String name) {
super(value, name);
}
// 常量
public static final EntityStatus AVAILABLE = new EntityStatus(0, "正常");
public static final EntityStatus DISABLED = new EntityStatus(1, "禁用");
private static final EnumerationValuesHolder<EntityStatus> ENUMERATION_VALUES = new EnumerationValuesHolder<>(
AVAILABLE,
DISABLED);
public static EntityStatus of(int value) {
return ENUMERATION_VALUES.get(value);
}
@Override
public String toString() {
return "EntityStatus" + super.toString();
}
}

View File

@ -0,0 +1,35 @@
package xyz.zhouxy.plusone.commons.util;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.junit.jupiter.api.Test;
class NumberUtilTest {
@Test
void testSum() {
long result = 0;
for (int i = 0; i < Integer.MAX_VALUE; i++) {
result += Short.MAX_VALUE;
}
System.out.println("Integer.MAX_VALUE: " + Integer.MAX_VALUE);
System.out.println("result: " + result);
assertFalse(Integer.MAX_VALUE > result);
result = 0;
for (int i = 0; i < Integer.MAX_VALUE; i++) {
result += Short.MAX_VALUE;
}
System.out.println("Long.MAX_VALUE: " + Long.MAX_VALUE);
System.out.println("result: " + result);
assertTrue(Long.MAX_VALUE > result);
result = 0;
for (int i = 0; i < Integer.MAX_VALUE; i++) {
result += Integer.MAX_VALUE;
}
System.out.println("Long.MAX_VALUE: " + Long.MAX_VALUE);
System.out.println("result: " + result);
assertTrue(Long.MAX_VALUE > result);
}
}