Chinaunix首页 | 论坛 | 博客
  • 博客访问: 544385
  • 博文数量: 298
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3077
  • 用 户 组: 普通用户
  • 注册时间: 2019-06-17 10:57
文章分类

全部博文(298)

文章存档

2022年(96)

2021年(201)

2019年(1)

我的朋友

分类: Java

2022-05-09 10:58:48


点击(此处)折叠或打开


  1. 断言是一个逻辑判断,用于检查不应该发生的情况
  2. Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数 -enableassertions 开启
  3. SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查
  4. // 要求参数 object 必须为非空(Not Null),否则抛出异常,不予放行
  5. // 参数 message 参数用于定制异常信息。
  6. void notNull(Object object, String message)
  7. // 要求参数必须空(Null),否则抛出异常,不予『放行』。
  8. // 和 notNull() 方法断言规则相反
  9. void isNull(Object object, String message)
  10. // 要求参数必须为真(True),否则抛出异常,不予『放行』。
  11. void isTrue(boolean expression, String message)
  12. // 要求参数(List/Set)必须非空(Not Empty),否则抛出异常,不予放行
  13. void notEmpty(Collection collection, String message)
  14. // 要求参数(String)必须有长度(即,Not Empty),否则抛出异常,不予放行
  15. void hasLength(String text, String message)
  16. // 要求参数(String)必须有内容(即,Not Blank),否则抛出异常,不予放行
  17. void hasText(String text, String message)
  18. // 要求参数是指定类型的实例,否则抛出异常,不予放行
  19. void isInstanceOf(Class type, Object obj, String message)
  20. // 要求参数 `subType` 必须是参数 superType 的子类或实现类,否则抛出异常,不予放行
  21. void isAssignable(Class superType, Class subType, String message)

  22. 对象、数组、集合
  23. ObjectUtils
  24. 获取对象的基本信息

  25. //java项目大全fhadmin.cn
  26. // 获取对象的类名。参数为 null 时,返回字符串:"null"
  27. String nullSafeClassName(Object obj)
  28. // 参数为 null 时,返回 0
  29. int nullSafeHashCode(Object object)
  30. // 参数为 null 时,返回字符串:"null"
  31. String nullSafeToString(boolean[] array)
  32. // 获取对象 HashCode(十六进制形式字符串)。参数为 null 时,返回 0
  33. String getIdentityHexString(Object obj)
  34. // 获取对象的类名和 HashCode。 参数为 null 时,返回字符串:""
  35. String identityToString(Object obj)
  36. // 相当于 toString()方法,但参数为 null 时,返回字符串:""
  37. String getDisplayString(Object obj)
  38. 判断工具

  39. //java项目大全fhadmin.cn
  40. // 判断数组是否为空
  41. boolean isEmpty(Object[] array)
  42. // 判断参数对象是否是数组
  43. boolean isArray(Object obj)
  44. // 判断数组中是否包含指定元素
  45. boolean containsElement(Object[] array, Object element)
  46. // 相等,或同为 null时,返回 true
  47. boolean nullSafeEquals(Object o1, Object o2)
  48. /*
  49. 判断参数对象是否为空,判断标准为:
  50.     Optional: Optional.empty()
  51.        Array: length == 0
  52. CharSequence: length == 0
  53.   Collection: Collection.isEmpty()
  54.          Map: Map.isEmpty()
  55.  */
  56. boolean isEmpty(Object obj)
  57. 其他工具方法

  58. // 向参数数组的末尾追加新元素,并返回一个新数组
  59. <A, O extends A> A[] addObjectToArray(A[] array, O obj)
  60. // 原生基础类型数组 --> 包装类数组
  61. Object[] toObjectArray(Object source)
  62. StringUtils
  63. 字符串判断工具

  64. //java项目大全fhadmin.cn
  65. // 判断字符串是否为 null,或 ""。注意,包含空白符的字符串为非空
  66. boolean isEmpty(Object str)
  67. // 判断字符串是否是以指定内容结束。忽略大小写
  68. boolean endsWithIgnoreCase(String str, String suffix)
  69. // 判断字符串是否已指定内容开头。忽略大小写
  70. boolean startsWithIgnoreCase(String str, String prefix)
  71. // 是否包含空白符
  72. boolean containsWhitespace(String str)
  73. // 判断字符串非空且长度不为 0,即,Not Empty
  74. boolean hasLength(CharSequence str)
  75. // 判断字符串是否包含实际内容,即非仅包含空白符,也就是 Not Blank
  76. boolean hasText(CharSequence str)
  77. // 判断字符串指定索引处是否包含一个子串。
  78. boolean substringMatch(CharSequence str, int index, CharSequence substring)
  79. // 计算一个字符串中指定子串的出现次数
  80. int countOccurrencesOf(String str, String sub)
  81. 字符串操作工具

  82. // 查找并替换指定子串
  83. String replace(String inString, String oldPattern, String newPattern)
  84. // 去除尾部的特定字符
  85. String trimTrailingCharacter(String str, char trailingCharacter)
  86. // 去除头部的特定字符
  87. String trimLeadingCharacter(String str, char leadingCharacter)
  88. // 去除头部的空白符
  89. String trimLeadingWhitespace(String str)
  90. // 去除头部的空白符
  91. String trimTrailingWhitespace(String str)
  92. // 去除头部和尾部的空白符
  93. String trimWhitespace(String str)
  94. // 删除开头、结尾和中间的空白符
  95. String trimAllWhitespace(String str)
  96. // 删除指定子串
  97. String delete(String inString, String pattern)
  98. // 删除指定字符(可以是多个)
  99. String deleteAny(String inString, String charsToDelete)
  100. // 对数组的每一项执行 trim() 方法
  101. String[] trimArrayElements(String[] array)
  102. // 将 URL 字符串进行解码
  103. String uriDecode(String source, Charset charset)
  104. 路径相关工具方法

  105. // 解析路径字符串,优化其中的 “..
  106. String cleanPath(String path)
  107. // 解析路径字符串,解析出文件名部分
  108. String getFilename(String path)
  109. // 解析路径字符串,解析出文件后缀名
  110. String getFilenameExtension(String path)
  111. // 比较两个两个字符串,判断是否是同一个路径。会自动处理路径中的 “..
  112. boolean pathEquals(String path1, String path2)
  113. // 删除文件路径名中的后缀部分
  114. String stripFilenameExtension(String path)
  115. // 以 “. 作为分隔符,获取其最后一部分
  116. String unqualify(String qualifiedName)
  117. // 以指定字符作为分隔符,获取其最后一部分
  118. String unqualify(String qualifiedName, char separator)
  119. CollectionUtils
  120. 集合判断工具

  121. //java项目大全fhadmin.cn
  122. // 判断 List/Set 是否为空
  123. boolean isEmpty(Collection<?> collection)
  124. // 判断 Map 是否为空
  125. boolean isEmpty(Map<?,?> map)
  126. // 判断 List/Set 中是否包含某个对象
  127. boolean containsInstance(Collection<?> collection, Object element)
  128. // 以迭代器的方式,判断 List/Set 中是否包含某个对象
  129. boolean contains(Iterator<?> iterator, Object element)
  130. // 判断 List/Set 是否包含某些对象中的任意一个
  131. boolean containsAny(Collection<?> source, Collection<?> candidates)
  132. // 判断 List/Set 中的每个元素是否唯一。即 List/Set 中不存在重复元素
  133. boolean hasUniqueObject(Collection<?> collection)
  134. 集合操作工具

  135. // 将 Array 中的元素都添加到 List/Set 中
  136. <E> void mergeArrayIntoCollection(Object array, Collection<E> collection)
  137. // 将 Properties 中的键值对都添加到 Map 中
  138. <K,V> void mergePropertiesIntoMap(Properties props, Map<K,V> map)
  139. // 返回 List 中最后一个元素
  140. <T> T lastElement(List<T> list)
  141. // 返回 Set 中最后一个元素
  142. <T> T lastElement(Set<T> set)
  143. // 返回参数 candidates 中第一个存在于参数 source 中的元素
  144. <E> E findFirstMatch(Collection<?> source, Collection<E> candidates)
  145. // 返回 List/Set 中指定类型的元素。
  146. <T> T findValueOfType(Collection<?> collection, Class<T> type)
  147. // 返回 List/Set 中指定类型的元素。如果第一种类型未找到,则查找第二种类型,以此类推
  148. Object findValueOfType(Collection<?> collection, Class<?>[] types)
  149. // 返回 List/Set 中元素的类型
  150. Class<?> findCommonElementType(Collection<?> collection)
  151. 文件、资源、IO 流
  152. FileCopyUtils
  153. 输入
  154. // 从文件中读入到字节数组中
  155. byte[] copyToByteArray(File in)
  156. // 从输入流中读入到字节数组中
  157. byte[] copyToByteArray(InputStream in)
  158. // 从输入流中读入到字符串中
  159. String copyToString(Reader in)
  160. 输出

  161. // 从字节数组到文件
  162. void copy(byte[] in, File out)
  163. // 从文件到文件
  164. int copy(File in, File out)
  165. // 从字节数组到输出流
  166. void copy(byte[] in, OutputStream out)
  167. // 从输入流到输出流
  168. int copy(InputStream in, OutputStream out)
  169. // 从输入流到输出流
  170. int copy(Reader in, Writer out)
  171. // 从字符串到输出流
  172. void copy(String in, Writer out)
  173. ResourceUtils
  174. 从资源路径获取文件

  175. // 判断字符串是否是一个合法的 URL 字符串。
  176. static boolean isUrl(String resourceLocation)
  177. // 获取 URL
  178. static URL getURL(String resourceLocation)
  179. // 获取文件(在 JAR 包内无法正常使用,需要是一个独立的文件)
  180. static File getFile(String resourceLocation)
  181. Resource

  182. // 文件系统资源 D:\...
  183. FileSystemResource
  184. // URL 资源,如 file://... http://...
  185. UrlResource
  186. // 类路径下的资源,classpth:...
  187. ClassPathResource
  188. // Web 容器上下文中的资源(jar 包、war 包)
  189. ServletContextResource
  190. // 判断资源是否存在
  191. boolean exists()
  192. // 从资源中获得 File 对象
  193. File getFile()
  194. // 从资源中获得 URI 对象
  195. URI getURI()
  196. // 从资源中获得 URI 对象
  197. URL getURL()
  198. // 获得资源的 InputStream
  199. InputStream getInputStream()
  200. // 获得资源的描述信息
  201. String getDescription()
  202. StreamUtils
  203. 输入

  204. void copy(byte[] in, OutputStream out)
  205. int copy(InputStream in, OutputStream out)
  206. void copy(String in, Charset charset, OutputStream out)
  207. long copyRange(InputStream in, OutputStream out, long start, long end)
  208. 输出

  209. byte[] copyToByteArray(InputStream in)
  210. String copyToString(InputStream in, Charset charset)
  211. // 舍弃输入流中的内容
  212. int drain(InputStream in)
  213. 反射、AOP
  214. ReflectionUtils
  215. 获取方法

  216. //java项目大全fhadmin.cn
  217. // 在类中查找指定方法
  218. Method findMethod(Class<?> clazz, String name)
  219. // 同上,额外提供方法参数类型作查找条件
  220. Method findMethod(Class<?> clazz, String name, Class<?>... paramTypes)
  221. // 获得类中所有方法,包括继承而来的
  222. Method[] getAllDeclaredMethods(Class<?> leafClass)
  223. // 在类中查找指定构造方法
  224. Constructor<T> accessibleConstructor(Class<T> clazz, Class<?>... parameterTypes)
  225. // 是否是 equals() 方法
  226. boolean isEqualsMethod(Method method)
  227. // 是否是 hashCode() 方法
  228. boolean isHashCodeMethod(Method method)
  229. // 是否是 toString() 方法
  230. boolean isToStringMethod(Method method)
  231. // 是否是从 Object 类继承而来的方法
  232. boolean isObjectMethod(Method method)
  233. // 检查一个方法是否声明抛出指定异常
  234. boolean declaresException(Method method, Class<?> exceptionType)
  235. 执行方法

  236. // 执行方法
  237. Object invokeMethod(Method method, Object target)
  238. // 同上,提供方法参数
  239. Object invokeMethod(Method method, Object target, Object... args)
  240. // 取消 Java 权限检查。以便后续执行该私有方法
  241. void makeAccessible(Method method)
  242. // 取消 Java 权限检查。以便后续执行私有构造方法
  243. void makeAccessible(Constructor<?> ctor)
  244. 获取字段

  245. // 在类中查找指定属性
  246. Field findField(Class<?> clazz, String name)
  247. // 同上,多提供了属性的类型
  248. Field findField(Class<?> clazz, String name, Class<?> type)
  249. // 是否为一个 "public static final" 属性
  250. boolean isPublicStaticFinal(Field field)
  251. 设置字段

  252. //java项目大全fhadmin.cn
  253. // 获取 target 对象的 field 属性值
  254. Object getField(Field field, Object target)
  255. // 设置 target 对象的 field 属性值,值为 value
  256. void setField(Field field, Object target, Object value)
  257. // 同类对象属性对等赋值
  258. void shallowCopyFieldState(Object src, Object dest)
  259. // 取消 Java 的权限控制检查。以便后续读写该私有属性
  260. void makeAccessible(Field field)
  261. // 对类的每个属性执行 callback
  262. void doWithFields(Class<?> clazz, ReflectionUtils.FieldCallback fc)
  263. // 同上,多了个属性过滤功能。
  264. void doWithFields(Class<?> clazz, ReflectionUtils.FieldCallback fc,
  265.                   ReflectionUtils.FieldFilter ff)
  266. // 同上,但不包括继承而来的属性
  267. void doWithLocalFields(Class<?> clazz, ReflectionUtils.FieldCallback fc)
  268. AopUtils
  269. 判断代理类型

  270. // 判断是不是 Spring 代理对象
  271. boolean isAopProxy()
  272. // 判断是不是 jdk 动态代理对象
  273. isJdkDynamicProxy()
  274. // 判断是不是 CGLIB 代理对象
  275. boolean isCglibProxy()
  276. SCSS 复制 全屏

  277. 获取被代理对象的 class

  278. // 获取被代理的目标 class
  279. Class<?> getTargetClass()
  280. SCSS 复制 全屏

  281. AopContext
  282. 获取当前对象的代理对象

  283. Object currentProxy()


阅读(373) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~