/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.alipay.sofa.common.utils;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
/**
*
* @author luoguimu123
* @version $Id: ArrayUtil.java, v 0.1 2017年08月01日 下午12:02 luoguimu123 Exp $
*/
public class ArrayUtil {
public static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];
public static final Class[] EMPTY_CLASS_ARRAY = new Class[0];
public static final String[] EMPTY_STRING_ARRAY = new String[0];
public static final long[] EMPTY_LONG_ARRAY = new long[0];
public static final Long[] EMPTY_LONG_OBJECT_ARRAY = new Long[0];
public static final int[] EMPTY_INT_ARRAY = new int[0];
public static final Integer[] EMPTY_INTEGER_OBJECT_ARRAY = new Integer[0];
public static final short[] EMPTY_SHORT_ARRAY = new short[0];
public static final Short[] EMPTY_SHORT_OBJECT_ARRAY = new Short[0];
public static final byte[] EMPTY_BYTE_ARRAY = new byte[0];
public static final Byte[] EMPTY_BYTE_OBJECT_ARRAY = new Byte[0];
public static final double[] EMPTY_DOUBLE_ARRAY = new double[0];
public static final Double[] EMPTY_DOUBLE_OBJECT_ARRAY = new Double[0];
public static final float[] EMPTY_FLOAT_ARRAY = new float[0];
public static final Float[] EMPTY_FLOAT_OBJECT_ARRAY = new Float[0];
public static final boolean[] EMPTY_BOOLEAN_ARRAY = new boolean[0];
public static final Boolean[] EMPTY_BOOLEAN_OBJECT_ARRAY = new Boolean[0];
public static final char[] EMPTY_CHAR_ARRAY = new char[0];
public static final Character[] EMPTY_CHARACTER_OBJECT_ARRAY = new Character[0];
public ArrayUtil() {
}
public static boolean isEmpty(Object[] array) {
return array == null || array.length == 0;
}
public static boolean isEmpty(long[] array) {
return array == null || array.length == 0;
}
public static boolean isEmpty(int[] array) {
return array == null || array.length == 0;
}
public static boolean isEmpty(short[] array) {
return array == null || array.length == 0;
}
public static boolean isEmpty(byte[] array) {
return array == null || array.length == 0;
}
public static boolean isEmpty(double[] array) {
return array == null || array.length == 0;
}
public static boolean isEmpty(float[] array) {
return array == null || array.length == 0;
}
public static boolean isEmpty(boolean[] array) {
return array == null || array.length == 0;
}
public static boolean isEmpty(char[] array) {
return array == null || array.length == 0;
}
public static boolean isNotEmpty(Object[] array) {
return array != null && array.length > 0;
}
public static boolean isNotEmpty(long[] array) {
return array != null && array.length > 0;
}
public static boolean isNotEmpty(int[] array) {
return array != null && array.length > 0;
}
public static boolean isNotEmpty(short[] array) {
return array != null && array.length > 0;
}
public static boolean isNotEmpty(byte[] array) {
return array != null && array.length > 0;
}
public static boolean isNotEmpty(double[] array) {
return array != null && array.length > 0;
}
public static boolean isNotEmpty(float[] array) {
return array != null && array.length > 0;
}
public static boolean isNotEmpty(boolean[] array) {
return array != null && array.length > 0;
}
public static boolean isNotEmpty(char[] array) {
return array != null && array.length > 0;
}
public static Object[] defaultIfNull(Object[] array) {
return array == null ? EMPTY_OBJECT_ARRAY : array;
}
public static long[] defaultIfNull(long[] array) {
return array == null ? EMPTY_LONG_ARRAY : array;
}
public static int[] defaultIfNull(int[] array) {
return array == null ? EMPTY_INT_ARRAY : array;
}
public static short[] defaultIfNull(short[] array) {
return array == null ? EMPTY_SHORT_ARRAY : array;
}
public static byte[] defaultIfNull(byte[] array) {
return array == null ? EMPTY_BYTE_ARRAY : array;
}
public static double[] defaultIfNull(double[] array) {
return array == null ? EMPTY_DOUBLE_ARRAY : array;
}
public static float[] defaultIfNull(float[] array) {
return array == null ? EMPTY_FLOAT_ARRAY : array;
}
public static boolean[] defaultIfNull(boolean[] array) {
return array == null ? EMPTY_BOOLEAN_ARRAY : array;
}
public static char[] defaultIfNull(char[] array) {
return array == null ? EMPTY_CHAR_ARRAY : array;
}
public static Object[] defaultIfNull(Object[] array, Object[] defaultArray) {
return array == null ? defaultArray : array;
}
public static long[] defaultIfNull(long[] array, long[] defaultArray) {
return array == null ? defaultArray : array;
}
public static int[] defaultIfNull(int[] array, int[] defaultArray) {
return array == null ? defaultArray : array;
}
public static short[] defaultIfNull(short[] array, short[] defaultArray) {
return array == null ? defaultArray : array;
}
public static byte[] defaultIfNull(byte[] array, byte[] defaultArray) {
return array == null ? defaultArray : array;
}
public static double[] defaultIfNull(double[] array, double[] defaultArray) {
return array == null ? defaultArray : array;
}
public static float[] defaultIfNull(float[] array, float[] defaultArray) {
return array == null ? defaultArray : array;
}
public static boolean[] defaultIfNull(boolean[] array, boolean[] defaultArray) {
return array == null ? defaultArray : array;
}
public static char[] defaultIfNull(char[] array, char[] defaultArray) {
return array == null ? defaultArray : array;
}
public static Object[] defaultIfNull(Object[] array, Class defaultComponentType) {
return array == null ? (Object[]) ((Object[]) Array.newInstance(
ClassUtil.getNonPrimitiveType(defaultComponentType), 0)) : array;
}
public static Object[] defaultIfEmpty(Object[] array) {
return array == null ? EMPTY_OBJECT_ARRAY : array;
}
public static long[] defaultIfEmpty(long[] array) {
return array == null ? EMPTY_LONG_ARRAY : array;
}
public static int[] defaultIfEmpty(int[] array) {
return array == null ? EMPTY_INT_ARRAY : array;
}
public static short[] defaultIfEmpty(short[] array) {
return array == null ? EMPTY_SHORT_ARRAY : array;
}
public static byte[] defaultIfEmpty(byte[] array) {
return array == null ? EMPTY_BYTE_ARRAY : array;
}
public static double[] defaultIfEmpty(double[] array) {
return arr
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
是 SOFAStack 中间件依赖的一个通用工具包,通过自动感知应用的日志实现 (189个子文件)
.gitignore 42B
HEADER 755B
ArrayUtil.java 83KB
StringUtil.java 70KB
SensitiveDataUtil.java 30KB
VariableLinkedBlockingQueue.java 25KB
ClassUtil.java 20KB
SofaThreadPoolExecutorConstructsTest.java 18KB
MultiAppLoggerSpaceManager.java 16KB
SofaScheduledTreadPoolExecutorConstructsTest.java 16KB
ThreadPoolGovernor.java 15KB
ClassLoaderUtil.java 15KB
AssertUtil.java 14KB
CommonConfigTest.java 12KB
SofaThreadPoolExecutor.java 11KB
Profiler.java 11KB
AbstractLoggerSpaceFactoryBuilder.java 10KB
SofaScheduledThreadPoolExecutor.java 10KB
ThreadPoolGovernorTest.java 10KB
Enum.java 9KB
LoggerProxy.java 9KB
LogEnvUtils.java 9KB
EnumUtil.java 9KB
Constants.java 9KB
Log4j2LoggerSpaceFactory.java 9KB
SofaThreadPoolExecutorTest.java 9KB
LegacySpringBeanUtil.java 8KB
LogbackLoggerSpaceFactory.java 8KB
SofaScheduledThreadPoolExecutorTest.java 8KB
LoggerSpaceManagerUsageTest.java 8KB
TemporaryLoggerProxyTest.java 8KB
CharsetUtil.java 8KB
LogCode2Description.java 8KB
SpaceNamedFactoryTest.java 7KB
SofaThreadPoolTaskExecutorConstructsTest.java 6KB
LoggerSpaceFactory4CommonsLoggingBuilderTest.java 6KB
LoggerSpaceFactory4Log4j2BuilderTest.java 6KB
ThreadPoolConfig.java 6KB
ThreadPoolTestBase.java 6KB
LoggerSpaceFactory4LogbackBuilderTest.java 6KB
LoggerSpaceManager.java 6KB
LoggerSpaceFactory4Log4jBuilderTest.java 6KB
SofaThreadPoolTaskSchedulerConstructsTest.java 6KB
LoggerSpaceFactory4CommonsLoggingBuilder.java 6KB
ConfigSourceCacheWrapperTest.java 6KB
SpaceGovernorTest.java 6KB
ThreadPoolMonitorRunner.java 6KB
SofaThreadPoolTaskExecutor.java 5KB
LoggerSpaceFactory4Log4jBuilder.java 5KB
ObjectUtil.java 5KB
DefaultConfigManager.java 5KB
ThreadPoolMonitorWrapper.java 5KB
LegacySpringBeanUtilTest.java 5KB
SofaThreadPoolTaskScheduler.java 5KB
ProfileTest.java 5KB
DefaultConverter.java 5KB
StreamUtil.java 5KB
Log4j2ConsoleLoggingTest.java 4KB
ThreadPoolStatistics.java 4KB
ThreadPoolStaticsTest.java 4KB
TemporaryILoggerFactoryPool.java 4KB
LogCode2DescriptionTest.java 4KB
VariableLinkedBlockingQueueTest.java 4KB
ResourceUtil.java 4KB
SofaVirtualThreadFactory.java 4KB
TemporaryILoggerFactory.java 4KB
DefaultConverterTest.java 4KB
LogLog.java 4KB
ExecutingRunnable.java 3KB
ConfigSourceCacheWrapper.java 3KB
SofaTracerCommandFactory.java 3KB
SofaThreadPoolTaskSchedulerTest.java 3KB
TimeWaitRejectedExecutionHandler.java 3KB
LogbackConsoleLoggingTest.java 3KB
SofaThreadPoolTaskExecutorTest.java 3KB
SensitiveDataUtilTest.java 3KB
ConfigKeyTest.java 3KB
CommonToolConfigKeys.java 3KB
LogEnvUtilsTest.java 3KB
SofaConfigs.java 3KB
IntegerEnum.java 3KB
LazyLogFactoryInitializingTest.java 3KB
ConfigKey.java 3KB
CommonLoggingConfigurations.java 3KB
SofaVirtualThreadFactory.java 3KB
SpaceId.java 3KB
Log4jTest.java 3KB
EnumConstant.java 3KB
AbstractConfigSource.java 3KB
LoggerSpaceManagerTest.java 3KB
LoggerSpaceOverrideUsageTest.java 3KB
LoggerSpaceConcurrencyTest.java 2KB
ProcessIdUtil.java 2KB
SofaTracerCommandFactoryTest.java 2KB
AdapterLevel.java 2KB
LogSpace.java 2KB
LogConfigListener.java 2KB
CharsetUtilTest.java 2KB
AbstraceLogTestBase.java 2KB
TimeWaitRejectedExecutionHandlerTest.java 2KB
共 189 条
- 1
- 2
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 6650
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功