1. StringBuilder(String str)
package string;
public class StringBuilderDemo {
public static void main(String[] args) {
String str = "好好学习java";
StringBuilder builder = new StringBuilder(str);
builder.append(",为了实现财富自由!");
System.out.println(builder);
builder.replace(9,16,"就是为了改变世界");
System.out.println(builder);
builder.delete(0,8);
System.out.println(builder);
builder.insert(0,"活着");
System.out.println(builder);
}
}
2. StringBuilder 修改 字符串,性能测试
package string;
public class StringBuilderDemo2 {
public static void main(String[] args) {
String str = "a";
StringBuilder builder = new StringBuilder(str);
for(int i=0;i<10000000;i++){
builder.append("a");
}
System.out.println("执行完毕!");
}
}
3. 直接用 String 修改 字符串,性能测试(这个会报异常)
package string;
public class StringDemo2 {
public static void main(String[] args) {
String str = "a";
for(int i=0;i<10000000;i++){
str = str + str;
}
System.out.println("执行完毕!");
}
}
SQL中拼接的日期,在代码中处理
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
public class StringSubstring {
public static void main(String[] args) {
List<String> xAxis = createDateScope(3, 6)
.stream()
.map(it -> it.replace("/","-"))
.collect(Collectors.toList());
for (String s : xAxis){
System.out.print(s+" ");
}
StringBuilder sb = new StringBuilder("");
for(String year : xAxis){
stringBuilder.append("union select '");
stringBuilder.append(year.split("-")[0])
.append("' yearA, '")
.append(Integer.parseInt(year.split("-")[1]))
.append("' monthA ");
}
String sql = sb.substring(6);
System.out.println(sql);
String str = "2024-1";
String s = str.split("-")[1];
System.out.println(s);
}
public static int[] twoSum(int[] nums, int target) {
int length = nums.length;
for (int i = 0; i < length; i++){
for (int j = i + 1; j < length; j++){
if (nums[i] + nums[j] == target){
return new int[]{i,j};
}
}
}
return new int[]{};
}
public static List<String> createDateScope(Integer type, Integer num) {
return createDateScope(new Date(), type, num, null);
}
public static List<String> createDateScope(Date now, Integer type, Integer num, String format) {
List<String> list = new LinkedList<>();
switch (type) {
case 1:
for (int i = num - 1; i >= 0; i--) {
DateTime offset = DateUtil.offset(now, DateField.YEAR, -i);
String date = DateUtil.format(offset, CharSequenceUtil.isNotBlank(format) ? format : "yyyy");
list.add(date);
}
return list;
case 2:
for (int i = num - 1; i >= 0; i--) {
DateTime offset = DateUtil.offsetMonth(now, -i * 3);
int quarter = DateUtil.quarter(offset);
String date = DateUtil.format(offset, "yyyy");
list.add(date + "/" + quarter + "季度");
}
break;
case 3:
for (int i = num - 1; i >= 0; i--) {
DateTime offset = DateUtil.offsetMonth(now, -i);
String date = DateUtil.format(offset, CharSequenceUtil.isNotBlank(format) ? format : "yyyy/MM");
list.add(date);
}
break;
case 4:
for (int i = num - 1; i >= 0; i--) {
DateTime offset = DateUtil.offsetDay(now, -i);
String date = DateUtil.format(offset, CharSequenceUtil.isNotBlank(format) ? format : "MM/dd");
list.add(date);
}
break;
case 5:
for (int i = num - 1; i >= 0; i--) {
DateTime offset = DateUtil.offsetHour(now, -i);
String date = DateUtil.format(offset, CharSequenceUtil.isNotBlank(format) ? format : "HH");
list.add(date);
}
break;
}
return list;
}
}