JAVA SE 基础三 常用API和一些常用技术

包装类

StringBuilder


StringBuilder代表可变字符串对象,相当于是一个容器,它里面装的字符串是可以改变的,就是用来操作字符串的。

好处: StringBuilder比String更适合做字符串的修改操作,效率会更高,代码也会更简洁。

StringBuffer与StringBuilder
注意:
stringBuffer的用法与StringBuilder是一模一样的
但StringBuilder是线程不安全的 StringBuffer是线程安全的

StringJoiner
JDK8开始才有的,跟StringBuilder一样,也是用来操作字符串的,也可以看成是一个容器,创建之后里面的内容是可变的。
好处:不仅能提高字符串的操作效率,并且在有些场景下使用它操作字符串,代码会更简洁

BigDecimal 精度运算


用于解决浮点型运算时,出现结果失真的问题。

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Test {
    public static void main(String[] args) {
        double a = 0.1;
        double b = 0.2;
        System.out.println(a+b);
        //使用 BigDecimal
        BigDecimal a1 =  BigDecimal.valueOf(a);
        BigDecimal b1 = BigDecimal.valueOf(b);
        BigDecimal c1 = a1.add(b1);
        System.out.println(c1);
        BigDecimal k = a1.divide(b1,2, RoundingMode.HALF_UP);
        System.out.println(k);
    }
}

SimpleDateFormat 日期格式化

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {
    public static void main(String[] args) throws ParseException {
        Date date = new Date();
        System.out.println(date.getTime());//时间毫秒值
        Date d2 = new Date(date.getTime()+2*1000*60);
        System.out.println(d2);

        //格式化日期对象和时间毫秒值 new SimpleDateFormat("时间格式")
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String fd = simpleDateFormat.format(date);
        System.out.println(fd);
        //字符串时间转换成日期对象
        Date fd2 = simpleDateFormat.parse("2022-05-12");
        System.out.println(fd2);

    }
}

calender

import java.text.ParseException;
import java.util.Calendar;

public class DateTest {
    public static void main(String[] args) throws ParseException {
        Calendar instance = Calendar.getInstance();
        System.out.println(instance);
        //获取日历中的某个信息
        System.out.println(instance.get(Calendar.YEAR));
        //获取日期对象
        System.out.println(instance.getTime());
        //获取时间毫秒值
        System.out.println(instance.getTimeInMillis());
        //修改日历中某个信息值
        instance.set(Calendar.MONTH,9);
        //为某个信息增加或者减少
        instance.add(Calendar.DAY_OF_YEAR,100);
        instance.add(Calendar.HOUR,10);
    }
}

 

 

 

获取日期之间的相差  LocalDate 和 Duration

Duration:可以用于计算两个时间对象相差的天数、小时数、分数、秒数、纳秒数;支持LocalTime、LocalDateTime、Instant等时间.

import java.time.LocalDate;
import java.time.Period;
public class Test {
    public static void main(String[] args) {
        LocalDate start = LocalDate.of(2023, 7, 3);
        LocalDate end = LocalDate.of(2024, 6, 29);
        Period period = Period.between(start, end);
        //获得相差时间的信息
        System.out.println(period.getYears());
        System.out.println(period.getMonths());
        System.out.println(period.getDays());
    }
}

Arrays类 操作数组的工具类

import java.util.Arrays;
import java.util.function.IntToDoubleFunction;
public class Test {
    public static void main(String[] args) {
       int[] arr = {30,10,49,20,55,60,27};
        System.out.println(Arrays.toString(arr));
        int[] ints = Arrays.copyOfRange(arr, 1, 5);
        System.out.println(Arrays.toString(ints));
        int[] arr3 = Arrays.copyOf(arr,10);
        System.out.println(Arrays.toString(arr3));
        double[] prices = {99.8,88.9,102};
         Arrays.setAll(prices, new IntToDoubleFunction() {
            @Override
            public double applyAsDouble(int value) {
                return prices[value]*0.9;
            }
        });
        System.out.println(Arrays.toString(prices));
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
    }
}

lamdba表达式

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值