java 常用方法

简介:

Java 常用方法:

(1)去掉所有的回车换行

Java代码   收藏代码
  1. /** 
  2.      * delete CRLF; delete empty line ;delete blank lines 
  3.      *  
  4.      * @param input 
  5.      * @return 
  6.      */  
  7.     public static String deleteCRLF(String input) {  
  8.         input = SystemHWUtil.deleteCRLFOnce(input);  
  9.         return SystemHWUtil.deleteCRLFOnce(input);  
  10.     }  
  11. /*** 
  12.      * delete CRLF; delete empty line ;delete blank lines 
  13.      *  
  14.      * @param input 
  15.      * @return 
  16.      */  
  17.     private static String deleteCRLFOnce(String input) {  
  18.         if (ValueWidget.isHasValue(input)) {  
  19.             return input.replaceAll("((\r\n)|\n)[\\s\t ]*(\\1)+""$1")  
  20.                     .replaceAll("^((\r\n)|\n)""");  
  21.         } else {  
  22.             return null;  
  23.         }  
  24.     }  

 使用时直接调用deleteCRLF方法即可

(2)去掉所有的空格

Java代码   收藏代码
  1. /*** 
  2.      * Delete all spaces 
  3.      *  
  4.      * @param input 
  5.      * @return 
  6.      */  
  7.     public static String deleteAllCRLF(String input) {  
  8.         return input.replaceAll("((\r\n)|\n)[\\s\t ]*""").replaceAll(  
  9.                 "^((\r\n)|\n)""");  
  10.     }  

 

(3)去掉String[]中重复的元素,去重

Java代码   收藏代码
  1.     /*** 
  2.      * test ok!<br> 去重 
  3.      * @param strs 
  4.      * @return 
  5.      */  
  6.     public static String[] guolv(String[]strs){  
  7.         List<String>list =new ArrayList<String>();  
  8.         list.add(strs[0]);//数组的第一个元素  
  9.         for(int i=1;i<strs.length;i++){  
  10.             String  string=strs[i];  
  11.             if(!isContains(list, string)){  
  12.                 list.add(string);  
  13.             }  
  14.         }  
  15.         return list2Arr(list);  
  16.     }  
  17. /*** 
  18.      * 判断list中是否包含keyWord 
  19.      *  
  20.      * @param list 
  21.      * @param keyWord 
  22.      * @return 
  23.      */  
  24.     public static boolean isContains(List<String> list, String keyWord) {  
  25.         if (ValueWidget.isNullOrEmpty(list)) {  
  26.             return false;  
  27.         }  
  28.         return list.contains(keyWord);  
  29.     }  
  30. /*** 
  31.      * convert List to String[] 
  32.      * @param list 
  33.      * @return 
  34.      */  
  35.     public static String[] list2Arr(List list){  
  36.         int size=list.size();  
  37.         String[]strs=new String[size];  
  38.         for(int i=0;i<size;i++){  
  39.             strs[i]=(String)list.get(i);  
  40.         }  
  41.         return strs;      
  42.     }  

 

(4)把List 转化为String[]

Java代码   收藏代码
  1. /*** 
  2.      * convert List to String[] 
  3.      * @param list 
  4.      * @return 
  5.      */  
  6.     public static String[] list2Arr(List list){  
  7.         int size=list.size();  
  8.         String[]strs=new String[size];  
  9.         for(int i=0;i<size;i++){  
  10.             strs[i]=(String)list.get(i);  
  11.         }  
  12.         return strs;      
  13.     }  

 (5)获取目录中的文件名

Java代码   收藏代码
  1. /*** 
  2.      * 获取文件名称。例如"aa/bb我们#.txt"-->“bb我们#.txt” 
  3.      *  
  4.      * @param filepath 
  5.      * @return 
  6.      */  
  7.     public static String getFileNameOnly(String filepath) {  
  8.         String result = filepath.replaceAll(".*\\b[/\\\\]([\\w\\.]+)""$1");  
  9.         return result;  
  10.     }  

 注意:目录的类型是字符串

(6)过滤掉List中相同的元素

Java代码   收藏代码
  1. /*** 
  2.      * 过滤掉其中相同的元素,test ok 
  3.      *  
  4.      * @param list 
  5.      * @param propertyName 
  6.      * @param propertyValue 
  7.      * @return 
  8.      * @throws SecurityException 
  9.      * @throws IllegalArgumentException 
  10.      * @throws NoSuchFieldException 
  11.      * @throws IllegalAccessException 
  12.      */  
  13.     public static List<?> uniqueObject(List<?> list, String propertyName)  
  14.             throws SecurityException, IllegalArgumentException,  
  15.             NoSuchFieldException, IllegalAccessException {  
  16.         if (ValueWidget.isNullOrEmpty(list)) {  
  17.             return list;  
  18.         }  
  19.         List resultList = new ArrayList();  
  20.         resultList.add(list.get(0));  
  21.         for (int i = 1; i < list.size(); i++) {  
  22.             Object obj = list.get(i);  
  23.             if (!isContainObject(resultList, propertyName,  
  24.                     (String) ReflectHWUtils.getObjectValue(obj, propertyName))) {  
  25.                 resultList.add(obj);  
  26.             }  
  27.         }  
  28.         return resultList;  
  29.     }  
  30.   
  31. /*** 
  32.      * 判断 list 中是否已经存在该对象 
  33.      *  
  34.      * @param list 
  35.      * @param propertyName 
  36.      * @param propertyValue 
  37.      * @return 
  38.      * @throws SecurityException 
  39.      * @throws IllegalArgumentException 
  40.      * @throws NoSuchFieldException 
  41.      * @throws IllegalAccessException 
  42.      */  
  43.     public static boolean isContainObject(List list, String propertyName,  
  44.             String propertyValue) throws SecurityException,  
  45.             IllegalArgumentException, NoSuchFieldException,  
  46.             IllegalAccessException {  
  47.         if (ValueWidget.isNullOrEmpty(list)) {  
  48.             return false;  
  49.         }  
  50.         for (int i = 0; i < list.size(); i++) {  
  51.             Object obj = list.get(i);  
  52.             String propertyValue2 = (String) ReflectHWUtils.getObjectValue(obj,  
  53.                     propertyName);  
  54.             if (propertyValue.equals(propertyValue2)) {  
  55.                 return true;  
  56.             }  
  57.         }  
  58.         return false;  
  59.     }  
  60. /*** 
  61.      * 获取指定对象的属性值 
  62.      *  
  63.      * @param obj 
  64.      * @param propertyName 
  65.      * @return 
  66.      * @throws SecurityException 
  67.      * @throws NoSuchFieldException 
  68.      * @throws IllegalArgumentException 
  69.      * @throws IllegalAccessException 
  70.      */  
  71.     public static Object getObjectValue(Object obj, String propertyName)  
  72.             throws SecurityException, NoSuchFieldException,  
  73.             IllegalArgumentException, IllegalAccessException {  
  74.         if (StringUtils.isEmpty(propertyName)) {  
  75.             return null;  
  76.         }  
  77.         Class<?> clazz = obj.getClass();  
  78.         Field name = getSpecifiedField(clazz, propertyName);  
  79.         if (ValueWidget.isNullOrEmpty(name)) {  
  80.             propertyName=ValueWidget.title(propertyName);//convert "Key2" to "key2"  
  81.             name = getSpecifiedField(clazz, propertyName);  
  82.               
  83.             if (ValueWidget.isNullOrEmpty(name)) {  
  84.                 System.out.println("[ReflectHWUtils.getObjectValue]"  
  85.                         + obj.getClass().getName() + " does not has field "  
  86.                         + propertyName);  
  87.             return null;  
  88.             }  
  89.         }  
  90.         return getObjectValue(obj, name);  
  91.     }  

 注意:List中的元素不是基本类型

相关文章
|
10月前
|
前端开发 JavaScript Java
Java 开发中 Swing 界面嵌入浏览器实现方法详解
摘要:Java中嵌入浏览器可通过多种技术实现:1) JCEF框架利用Chromium内核,适合复杂网页;2) JEditorPane组件支持简单HTML显示,但功能有限;3) DJNativeSwing-SWT可内嵌浏览器,需特定内核支持;4) JavaFX WebView结合Swing可完美支持现代网页技术。每种方案各有特点,开发者需根据项目需求选择合适方法,如JCEF适合高性能要求,JEditorPane适合简单展示。(149字)
1152 1
|
7月前
|
Java
Java语言实现字母大小写转换的方法
Java提供了多种灵活的方法来处理字符串中的字母大小写转换。根据具体需求,可以选择适合的方法来实现。在大多数情况下,使用 String类或 Character类的方法已经足够。但是,在需要更复杂的逻辑或处理非常规字符集时,可以通过字符流或手动遍历字符串来实现更精细的控制。
447 18
|
7月前
|
Java 编译器 Go
【Java】(5)方法的概念、方法的调用、方法重载、构造方法的创建
Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用方法的优点使程序变得更简短而清晰。有利于程序维护。可以提高程序开发的效率。提高了代码的重用性。方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。这种就属于驼峰写法下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。
314 4
|
8月前
|
算法 安全 Java
除了类,Java中的接口和方法也可以使用泛型吗?
除了类,Java中的接口和方法也可以使用泛型吗?
239 11
|
7月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
417 5
|
9月前
|
算法 Java 开发者
Java 项目实战数字华容道与石头迷阵游戏开发详解及实战方法
本文介绍了使用Java实现数字华容道和石头迷阵游戏的技术方案与应用实例,涵盖GUI界面设计、二维数组操作、游戏逻辑控制及自动解法算法(如A*),适合Java开发者学习游戏开发技巧。
554 46
|
8月前
|
Java 开发者
Java 函数式编程全解析:静态方法引用、实例方法引用、特定类型方法引用与构造器引用实战教程
本文介绍Java 8函数式编程中的四种方法引用:静态、实例、特定类型及构造器引用,通过简洁示例演示其用法,帮助开发者提升代码可读性与简洁性。
|
10月前
|
Java 索引
Java ArrayList中的常见删除操作及方法详解。
通过这些方法,Java `ArrayList` 提供了灵活而强大的操作来处理元素的移除,这些方法能够满足不同场景下的需求。
720 30
|
10月前
|
安全 Java API
Java 17 及以上版本核心特性在现代开发实践中的深度应用与高效实践方法 Java 开发实践
本项目以“学生成绩管理系统”为例,深入实践Java 17+核心特性与现代开发技术。采用Spring Boot 3.1、WebFlux、R2DBC等构建响应式应用,结合Record类、模式匹配、Stream优化等新特性提升代码质量。涵盖容器化部署(Docker)、自动化测试、性能优化及安全加固,全面展示Java最新技术在实际项目中的应用,助力开发者掌握现代化Java开发方法。
418 1
|
9月前
|
算法 Java
Java语言实现链表反转的方法
这种反转方法不需要使用额外的存储空间,因此空间复杂度为,它只需要遍历一次链表,所以时间复杂度为,其中为链表的长度。这使得这种反转链表的方法既高效又实用。
635 0