1.字符串

  1. // 字符串根据逗号,分割为数组
  2. String[] result= str.split(",");
  3. // 字符串根据逗号,分割为list
  4. List<String> springPowerLoadList = Arrays.asList(springPowerLoad.split(","));
  5. // 将idList转为以逗号分割的字符串
  6. String idsStr = StrUtil.join(",", ids);
  7. // StringJoiner 实际上是运用了StringBuilder的一个拼接字符串的封装处理
  8. // "a", "b", "c"变成a,b,c
  9. String[] names = {"a", "b", "c"};
  10. StringJoiner stringJoiner = new StringJoiner(",");
  11. for (String name : names) {
  12. stringJoiner.add(name);
  13. }
  14. System.out.println("stringJoiner = " + stringJoiner);
  15. // "a", "b", "c"变成[a,b,c]
  16. String[] names = {"a", "b", "c"};
  17. StringJoiner stringJoiner = new StringJoiner(",", "[", "]");
  18. for (String name : names) {
  19. stringJoiner.add(name);
  20. }
  21. System.out.println("stringJoiner = " + stringJoiner);
  1. //false
  2. Boolean.FALSE
  1. // 字符串根据逗号,分割为数组并转化为list
  2. List<String> result = Arrays.asList(str.split(","));
  3. List<String> timeList = JSONObject.parseArray(str1, String.class);
  4. List<Integer> pList = JSONObject.parseArray(str2, Integer.class);
  1. //java截取某个字符之前之后的字符串
  2. public static void substringTest02(){
  3. String str = "test_https://www.baidu.com/";
  4. //截取_之前字符串
  5. String str1 = str.substring(0, str.indexOf("_"));
  6. //截取_之后字符串
  7. String str2 = str.substring(str1.length()+1, str.length());
  8. System.out.println("截取_之前字符串:"+str1);
  9. System.out.println("截取_之后字符串:"+str2);
  10. }
  1. //截取正数第二个"_"后面的内容
  2. public static void substringTest03() {
  3. String str ="0123456_89_sdfdsdsf_23423_auauauau";
  4. //获得第一个点的位置
  5. int index = str.indexOf("_");
  6. System.out.println("获得第一个点的位置:"+index);
  7. //根据第一个点的位置 获得第二个点的位置
  8. index = str.indexOf("_", index + 1);
  9. System.out.println("根据第一个点的位置 获得第二个点的位置:"+index);
  10. //根据第二个点的位置,截取 字符串。得到结果 result
  11. String result = str.substring(index + 1);
  12. //输出结果
  13. System.out.println("输出结果:"+result);
  14. }
  1. //JAVA输出1时使1变为01,2变为02...
  2. System.out.println(String.format("%02d",x)); //x是你要输出的整数,例如6
  1. //生产时间戳
  2. Date currtime = new Date();
  3. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
  4. String currtimeStr = sdf.format(currtime);
  1. //将字符串转为对象
  2. ResultVO resultVO = JSON.parseObject(resultStr, ResultVO.class);

2.数组和集合

  1. // List 转 Array数组(等于 0,动态创建与 size 相同的数组,性能最好。)
  2. // 说明:使用 toArray 带参方法,数组空间大小的 length:
  3. // 1) 等于 0,动态创建与 size 相同的数组,性能最好。
  4. // 2) 大于 0 但小于 size,重新创建大小等于 size 的数组,增加 GC 负担。
  5. // 3) 等于 size,在高并发情况下,数组创建完成之后,size 正在变大的情况下,负面影响与大于0相同
  6. // 4) 大于 size,空间浪费,且在 size 处插入 null 值,存在 NPE 隐患。
  7. public static void main(String[] args) {
  8. List<String> list = new ArrayList<>(2);
  9. list.add("guan");
  10. list.add("bao");
  11. String[] array = list.toArray(new String[0]);
  12. for (String s : array) {
  13. System.out.println("s = " + s);
  14. }
  1. //将list转为json字符串
  2. String json = JSON.toJSONString(equipmentList);

3.运算

  1. // 与运算,把十进制数字的最后一位与1 做与运算,得到该数字最后一位与运算后的值
  2. int a=id & 1
  3. int count = 0;
  4. if ((id & 1)==0) {
  5. System.out.println("i = 0");
  6. }else {
  7. count++;
  8. }
  9. // 位移运算,把十进制数字右移一位,抛弃最后一个bit位,赋值给自己
  10. id >>>=1;
  11. //位移运算,把十进制数字右移一位,相当于乘2,最后赋值给自己
  12. id=id <<1;
  1. //根据时间节点取相应的值
  2. private static Integer getp(String dicValue1) throws Exception {
  3. Integer p = 0;
  4. String str1 = dicValue1.substring(0, dicValue1.indexOf(";"));
  5. String str2 = dicValue1.substring(str1.length() + 1, dicValue1.length());
  6. List<String> timeList = JSONObject.parseArray(str1, String.class);//把字符串转换成数组
  7. List<Integer> pList = JSONObject.parseArray(str2, Integer.class);//把字符串转换成数组
  8. Date currtime = new Date();
  9. SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
  10. String currtimeStr = sdf.format(currtime);
  11. for (int i = 0; i < timeList.size(); i++) {
  12. if (sdf.parse(currtimeStr).getTime() >= sdf.parse(timeList.get(i)).getTime() && sdf.parse(currtimeStr).getTime() < sdf.parse(timeList.get(i + 1)).getTime()) {
  13. p = pList.get(i);
  14. }
  15. }
  16. return p;
  17. }