001/** 002 * @Title: Judge.java 003 * @Package net.gdface.utils 004 * @Description: TODO 005 * @author guyadong 006 * @date 2015å¹´4月23æ—¥ 上åˆ9:57:02 007 * @version V1.0 008 */ 009package net.gdface.utils; 010 011import java.nio.Buffer; 012import java.util.Collection; 013 014/** 015 * æ¡ä»¶åˆ¤æ– 016 * 017 * @author guyadong 018 * 019 */ 020public class Judge { 021 /** 022 * åˆ¤æ–æ•°ç»„å¯¹è±¡æ˜¯ä¸æ˜¯æœ‰ä¸ºnull或空的 023 * 024 * @param args 025 * @return true/false 026 */ 027 public static final boolean isEmpty(byte[] arg) { 028 return null==arg||0==arg.length; 029 } 030 /** 031 * åˆ¤æ–æ‰€æœ‰æ•°ç»„å¯¹è±¡æ˜¯ä¸æ˜¯æœ‰ä¸ºnull或空的,åªè¦æœ‰ä¸€ä¸ªï¼Œå°±è¿”回true; 032 * 033 * @param args 034 * @return true/false 035 */ 036 public static final boolean hasEmpty(byte[]... args) { 037 for (byte[] e : args) { 038 if (null == e || 0 == e.length) 039 return true; 040 } 041 return false; 042 } 043 /** 044 * 判æ–å¯¹è±¡æ˜¯ä¸æ˜¯ä¸ºnull或空的 045 * 046 * @param arg 047 * @return true/false 048 */ 049 public static final boolean isEmpty(String arg) { 050 return (null == arg || arg.isEmpty()); 051 } 052 /** 053 * 判æ–å¯¹è±¡æ˜¯ä¸æ˜¯ä¸ºnull或空的 054 * @param arg 055 * @return 056 */ 057 public static final boolean isEmpty(Buffer arg) { 058 return (null == arg || !arg.hasRemaining()); 059 } 060 /** 061 * åˆ¤æ–æ‰€æœ‰æ•°ç»„å¯¹è±¡æ˜¯ä¸æ˜¯æœ‰ä¸ºnull或空的,åªè¦æœ‰ä¸€ä¸ªï¼Œå°±è¿”回true; 062 * 063 * @param args 064 * @return true/false 065 */ 066 public static final boolean hasEmpty(String... args) { 067 for (String e : args) { 068 if (null == e || 0 == e.length()) 069 return true; 070 } 071 return false; 072 } 073 /** 074 * 判æ–Collectionå¯¹è±¡æ˜¯ä¸æ˜¯æœ‰ä¸ºnull或空的 075 * 076 * @param arg 077 * @return true/false 078 */ 079 public static final <T extends Collection<?>> boolean isEmpty(T arg) { 080 return null == arg || 0 == arg.size(); 081 } 082 /** 083 * åˆ¤æ–æ‰€æœ‰Collectionå¯¹è±¡æ˜¯ä¸æ˜¯æœ‰ä¸ºnull或空的,åªè¦æœ‰ä¸€ä¸ªï¼Œå°±è¿”回true; 084 * 085 * @param args 086 * @return true/false 087 */ 088 @SafeVarargs 089 public static final <T extends Collection<?>> boolean hasEmpty(T... args) { 090 for (T e : args) { 091 if (null == e || 0 == e.size()) 092 return true; 093 } 094 return false; 095 } 096 097 /** 098 * åˆ¤æ–æ‰€æœ‰{@link Buffer}䏿˜¯å¦æœ‰ä¸ºnull或空的,åªè¦æœ‰ä¸€ä¸ªå°±è¿”回true, 099 * 100 * @param args 为null时返回true 101 * @return 102 */ 103 public static final boolean hasEmpty(Buffer ...args){ 104 if(null == args )return true; 105 for( Buffer e: args){ 106 if(isEmpty(e))return true; 107 } 108 return false; 109 } 110 /** 111 * 判æ–{@link Collection}䏿‰€æœ‰{@link Buffer}䏿˜¯å¦æœ‰ä¸ºnull或空的,åªè¦æœ‰ä¸€ä¸ªå°±è¿”回true, 112 * 113 * @param args 为null时返回true 114 * @return 115 */ 116 public static final boolean hasEmpty(Collection<Buffer> args){ 117 if(null == args )return true; 118 for( Buffer e: args){ 119 if(isEmpty(e))return true; 120 } 121 return false; 122 } 123 /** 124 * åˆ¤æ–æ‰€æœ‰æ•°ç»„å¯¹è±¡æ˜¯ä¸æ˜¯æœ‰ä¸ºnull或空的,åªè¦æœ‰ä¸€ä¸ªï¼Œå°±è¿”回true; 125 * 126 * @param arg 127 * @return true/false 128 */ 129 public static final <T> boolean isEmpty(T[] arg) { 130 return null == arg || 0 == arg.length; 131 } 132 /** 133 * åˆ¤æ–æ‰€æœ‰æ•°ç»„å¯¹è±¡æ˜¯ä¸æ˜¯æœ‰ä¸ºnull或空的,åªè¦æœ‰ä¸€ä¸ªï¼Œå°±è¿”回true; 134 * 135 * @param args 136 * @return true/false 137 */ 138 @SafeVarargs 139 public static final <T> boolean hasEmpty(T[]... args) { 140 for (T[] e : args) { 141 if (null == e || 0 == e.length) 142 return true; 143 } 144 return false; 145 } 146 /** 147 * 判æ–傿•°æ˜¯ä¸æ˜¯ä¸ºnull 148 * 149 * @param args 150 * @return true/false 151 */ 152 public static final <T> boolean isNull(T arg) { 153 return null==arg; 154 } 155 156 /** 157 * åˆ¤æ–æ‰€æœ‰å‚æ•°æ˜¯ä¸æ˜¯æœ‰ä¸ºnull的,åªè¦æœ‰ä¸€ä¸ªï¼Œå°±è¿”回true; 158 * 159 * @param args 160 * @return true/false 161 */ 162 @SafeVarargs 163 public static final <T> boolean hasNull(T... args) { 164 if (null != args) { 165 for (T e : args) { 166 if (null == e) 167 return true; 168 } 169 } 170 return false; 171 } 172 173}