1.字符串
// 字符串根据逗号,分割为数组
String[] result= str.split(",");
// 字符串根据逗号,分割为list
List<String> springPowerLoadList = Arrays.asList(springPowerLoad.split(","));
// 将idList转为以逗号分割的字符串
String idsStr = StrUtil.join(",", ids);
// StringJoiner 实际上是运用了StringBuilder的一个拼接字符串的封装处理
// "a", "b", "c"变成a,b,c
String[] names = {"a", "b", "c"};
StringJoiner stringJoiner = new StringJoiner(",");
for (String name : names) {
stringJoiner.add(name);
}
System.out.println("stringJoiner = " + stringJoiner);
// "a", "b", "c"变成[a,b,c]
String[] names = {"a", "b", "c"};
StringJoiner stringJoiner = new StringJoiner(",", "[", "]");
for (String name : names) {
stringJoiner.add(name);
}
System.out.println("stringJoiner = " + stringJoiner);
//false
Boolean.FALSE
// 字符串根据逗号,分割为数组并转化为list
List<String> result = Arrays.asList(str.split(","));
List<String> timeList = JSONObject.parseArray(str1, String.class);
List<Integer> pList = JSONObject.parseArray(str2, Integer.class);
//java截取某个字符之前之后的字符串
public static void substringTest02(){
String str = "test_https://www.baidu.com/";
//截取_之前字符串
String str1 = str.substring(0, str.indexOf("_"));
//截取_之后字符串
String str2 = str.substring(str1.length()+1, str.length());
System.out.println("截取_之前字符串:"+str1);
System.out.println("截取_之后字符串:"+str2);
}
//截取正数第二个"_"后面的内容
public static void substringTest03() {
String str ="0123456_89_sdfdsdsf_23423_auauauau";
//获得第一个点的位置
int index = str.indexOf("_");
System.out.println("获得第一个点的位置:"+index);
//根据第一个点的位置 获得第二个点的位置
index = str.indexOf("_", index + 1);
System.out.println("根据第一个点的位置 获得第二个点的位置:"+index);
//根据第二个点的位置,截取 字符串。得到结果 result
String result = str.substring(index + 1);
//输出结果
System.out.println("输出结果:"+result);
}
//JAVA输出1时使1变为01,2变为02...
System.out.println(String.format("%02d",x)); //x是你要输出的整数,例如6
//生产时间戳
Date currtime = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String currtimeStr = sdf.format(currtime);
//将字符串转为对象
ResultVO resultVO = JSON.parseObject(resultStr, ResultVO.class);
2.数组和集合
// List 转 Array数组(等于 0,动态创建与 size 相同的数组,性能最好。)
// 说明:使用 toArray 带参方法,数组空间大小的 length:
// 1) 等于 0,动态创建与 size 相同的数组,性能最好。
// 2) 大于 0 但小于 size,重新创建大小等于 size 的数组,增加 GC 负担。
// 3) 等于 size,在高并发情况下,数组创建完成之后,size 正在变大的情况下,负面影响与大于0相同
// 4) 大于 size,空间浪费,且在 size 处插入 null 值,存在 NPE 隐患。
public static void main(String[] args) {
List<String> list = new ArrayList<>(2);
list.add("guan");
list.add("bao");
String[] array = list.toArray(new String[0]);
for (String s : array) {
System.out.println("s = " + s);
}
//将list转为json字符串
String json = JSON.toJSONString(equipmentList);
3.运算
// 与运算,把十进制数字的最后一位与1 做与运算,得到该数字最后一位与运算后的值
int a=id & 1
int count = 0;
if ((id & 1)==0) {
System.out.println("i = 0");
}else {
count++;
}
// 位移运算,把十进制数字右移一位,抛弃最后一个bit位,赋值给自己
id >>>=1;
//位移运算,把十进制数字右移一位,相当于乘2,最后赋值给自己
id=id <<1;
//根据时间节点取相应的值
private static Integer getp(String dicValue1) throws Exception {
Integer p = 0;
String str1 = dicValue1.substring(0, dicValue1.indexOf(";"));
String str2 = dicValue1.substring(str1.length() + 1, dicValue1.length());
List<String> timeList = JSONObject.parseArray(str1, String.class);//把字符串转换成数组
List<Integer> pList = JSONObject.parseArray(str2, Integer.class);//把字符串转换成数组
Date currtime = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
String currtimeStr = sdf.format(currtime);
for (int i = 0; i < timeList.size(); i++) {
if (sdf.parse(currtimeStr).getTime() >= sdf.parse(timeList.get(i)).getTime() && sdf.parse(currtimeStr).getTime() < sdf.parse(timeList.get(i + 1)).getTime()) {
p = pList.get(i);
}
}
return p;
}