Java - 常用类

一、包装类

  • 针对八种基本数据类型,相应的引用类型——包装类
  • boolean—Boolean;char—Character;byte—Byte;short—Short;int—Integer;long—Long;float—Float;double—Double;
  • 包装类与基本数据类型相互转换,直接转,底层已经帮助实现;
  • 包装类与String互相转换,Integer.toString ,StringvalueOf(Integer),Interger+"";
  • Interger.valueOf(String),Integer.parseInt(String),new Integer(String);

二、String类

  • String s="olderhard",String s=new String("olderhard");
  • String 是 final类型的!!!,所以它改,肯定是新的。
  • String的常用方法
  • String可以串行化,属性有 final char[] value,String是final类
  • equals,equalslgnoreCase,length,indexOf,lastIndexOf,substring(l,r),trim,charAt(i),toUpperCase,toLowerCase,concat,replace,split,compareTo,toCharArray,format;
  • char[] c=s.toCharArray();
  • String p=s.substring(s.begin(),s.end());
  • String p=String.format("%s %d",name,age);

三、StringBuffer类

  • StringBuffer 代表可变字符序列,可以对字符串内容进行增删,很多方法与String相同,但StringBuffer是可变长度的,StringBuffer 是一个容器。
  • StringBuffer的对象可以串行化,父类中属性有 char[] value,StringBuffer是final类,已同步,线程安全;

四、StringBuilder类

  • 几乎跟StringBuffer相同,不过是未同步,效率最高;
  • String、StringBuffer 、StringBuilder的选择
  • 1.如果字符串存在大量的修改操作,一般使用StringBuffer或StringBuilder
  • 2.如果字符串存在大量的修改操作,并在单线程的情况下,使用 StringBuffer
  • 3.如果字符串存在大量的修改操作,并在多线程的情况下,使用 StringBuider
  • 4.如果我们字符串很少修改,被多个对象引用,使用 String,比如配置信息等

五、Math类

  • Math的方法都是静态的方法,可以直接使用,不用创建对象
  • 随机数: int ans=(int)(a+Math.random()*(b-a+1)); //范围[a,b]
  • 向上取整,向下取整:ceil,floor;

六、Arrays类

  • Arrays里面包含一系列静态方法,用于管理或操作数组,比如排序和搜索 (使用的对象是类,也可以是自定义的类)
  • Arrays.toString(a);
  • Arrays.sort()
  • Integer[] a={0,2,3,54,6};
    System.out.println(Arrays.toString(a));
    Integer[] b=Arrays.copyOf(a,a.length);
    Arrays.fill(a,1);
    Arrays.sort(books, new Comparator<Book>() {    //自定义比较方法,特重要!
    @Override
    public int compare(Book o1, Book o2) {
    return 1;
    }
    });
  • copyOf()、fill()、equals、asList

七、System类

  • 跟系统相关的类
  • System.exit(0)
  • System.currentTimeMillis() //返回当前时间距离1970-1-1 00:00的毫秒数

八、BigInterger 和 BigDecimal 类

  • BigInteger 适合保存比较大的整型;
  • BigDecimal 适合保存精度更高的浮点型(小数)
  • 不过对于这两个类的数,不能直接进行运算,得调用这两个类的方法哦!

九、日期类

  • 1. Date类:精确到毫秒,代表特定的瞬间,第一代
    • 这里的Date是指的是在java.util包下的Date
    • Date date=new Date();
    • System.out.println(date); //系统当前时间,默认输出格式:Tue Jul 30 11:34:54 CST 2024
    • 创建 SimpleDateForma 对象,可以指定相应格式(特定的)
    • SimpleDateFormat s = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss E");
    • System.out.println(s.format(date)); //输出:2024年07月30日 11:43:27 周二
    • Date d=s.parse(s.format(date)); //也能将规范的格式,转回来
  • 2.Calendar类:日历,第二代
    • 抽象类,构造器是private,通过getInstance()获取实例对象,提供大量的方法和字段
    • Calendar calendar = Calendar.getInstance();
    • System.out.println(calendar.get(Calendar.YEAR)); //返回字段信息
  • 3.第三代 (补充Date和Calendar的不足)
    • LocalDate(日期) ,LocalTime(时间) ,LocalDateTime(日期时间);
    • LocalDate b= LocalDate.now(); LocalTime c= LocalTime.now(); LocalDateTime a =LocalDateTime.now();
    • DateTimeFormatter d=DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH小时mm分钟ss秒");
    • System.out.println(d.format(a)); //格式化LocalDateTime 时间
    • Instant(时间戳,类似Date)
    • Instant i =Instant.now();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值