java常用类

来源:互联网 发布:瑜伽初学者软件 编辑:程序博客网 时间:2024/05/21 08:40

字符串相关类

  • string和stringbuffer以及stringbuilder

    • string是不可变序列,stringbuffer和stringbuilder是可变序列
    • 底层全部以char数组实现
      • strng的底层数组有final修饰,不可变;
      • stringbuffer和stringbuilder底层是可变的字符数组
      • 空构造默认的是长度为16的字符数组
      • 当长度不够时会自动扩容,为原长度2倍加2;
      • 长度计算出负数时,默认创建为2的32次方-1长度的数组
        • 长度用int表示,因此出现负数说明长度超过int的表示范围,所以就默认用int的最大整数来创建数组
    • stringbuffer线程安全,stringbuilder是线程不安全的
    • 如果程序中字符串拼接较多,选择stringbuffer和stringbuilder;如果没有线程问题,优先stringbuilder
    • 注意,如果字符串操作的都是已知的字符串,则程序选择string,然后用“+”操作最快
      • 因为编译器,会将新字符串加入字符串常量池,运行期速度最快
  • string类

    • 构造器
      • 空构造器:string()
      • 可变序列构造
        • string(stringbuffer)
        • string(stringbuilder)
      • byte数组构造;string(byte【】)通过平台默认字符集解析
      • 字符数组构造:string(chhar【】 char)
      • 可指定字符集,通过加入charset 或者charsetname参数
      • 原字符串构造:string(string old)
    • 查找方法

      • 查找索引处字符:charat(int) 返回char字符
      • 长度方法:length() 返回int类型
      • 子字符串:

        • substring(int index):起始位置到结束 返回string
        • substring(int index,int end):起始位置到结尾位置,返回string
      • 结束开是判断

        • startswith(string) 返回boolean
        • endswith(string) 返回boolean
      • 包含判断

        • contains(charSequence) 返回boolean
        • indexof(string) 第一次出现的索引int类型,没有就返回-1
      • 转化成字符数组,或者字节数组
        • getbytes() 平台默认字符集解析字符串成byte数组
        • tochararray()返回字符数组
      • 相等判断
        • equals() 返回boolean,重写的方法,比较的是内容
      • 获取string中内容
        • tostring()返回string

stringbuffer和stringbuilder类

  • 概述
    • 可变字符串序列,拥有很多string的方法
  • 构造器
    • StringBuilder()
    • stringBuilder(CharSequence)
    • StringBuilder(int capacity)
    • Stringbuilder(String)
  • 方法
    • append()
      • 方法有重载,加原序列尾部
    • delete()
      • 删除
    • replace()
      • 替换,结束为end-1
    • insert()
      • 插入,结束位置为end-1
  • 关注方法
    • reverse()字符序列反转
    • capacity()底层数组长度
    • length()底层数组有值的数量
    • trimtosize()去除底层数组没有值的位置

Date类

时间基点:1970年1月1日0时。此类大部分方法已过时,不推荐使用
格式: yyyy-MM-dd HH:mm:ss
1. 构造器
New Date():现在的时间
New Date(Long date):以时间基点以来的毫秒数构建时间
2. 方法
toString():日期转化为string对象
valueOf(String):特定格式字符串转化为Date对象

DateFormat类

格式化日期对象,完成文本和日期对象间的转换
1. 构造方法
需要借助子类完成构造
SimpleDateFormat(String pattern):用给定的模式和默认语言环境构造

  1. 方法
    Format(Date date):将Date格式化为字符串
    Parse(String pattern):将string解析为Date对象

Calendar类

日期类
1. 构造器
需要借助静态方法构造
Calendar.getInstance ();
2. 方法
getFirstDayOfWeek ():获得一星期的第一天
getTime():获取Date对象
getTImesInMillis():获取时间毫秒数
set(int year, int month, int date, int hourOfDay, int minute, int second):设置时间

包装类型

  1. 字符串转换成包装类型
    Integer.parseInt(String):有方法重载可转换为所有的包装类型
  2. 基本数据类型转换成字符串
    三种方法:
    直接用+号与字符串拼接
    String.valueOf(int) 有方法重载,所有的基本类型都可以转换
    Integer.toString(int)方法
  3. 基本类型和包装类型转换
    都有方法重载,所有包装类型都可以
    3.1 基本类型转包装类型
    构造器
    New Integer(int)
    New Integer(String)
    方法
    Integer.valueOf (int)
    Integer.valueOf(String)

3.2 包装类型转基本类型
intValue():返回int
4. 自动拆装箱
在需要的时候,会自动在包装类型和基本类型间转换
Byte常量池:在byte范围内,不会创建新对象

System类

  1. 方法
    System.currentTimeMillis():获取当前时间的毫秒数
    System.exit():终止当前JVM
    System.gc():运行垃圾回收器

Arrays类

操作数组
1. 方法
Arrays.binarySearch(int[] a,int key):二分法搜索值
Arrays.sort(int[] a):升序排列
Arrays.toString(int[] a):数组转化为string对象

Math类

执行基本数学运算的工具类
1. 方法
Math.abs(int):绝对值
Math.ceil(double):向上取整
Math.floor(double):向下取整
Math.pow(int a, int b):指数运算
Math.random():随机数,0到1,不包含1
Math.round(double):4舍5入取整
2. 精确计算
精确计算需要用bigdecimal
更大数据计算需要用bigInteger

File类

IO操作:输入输出操作
输出:把内存中的数据存储到持久化设备上
输入:把持久化设备上数据读取到内存中
1. 构造器
New File(File parent,String child)
New File(String)
New File(String parent,String child)
2. 获取信息的方法
getAbsolutePath():返回绝对路径
getName():返回file的名字
getPath():返回路径的字符串
length():文件的长度
3. 创建和删除方法
3.1 创建
createNewFIle():建立空文件
mkdir():建立空目录
3.2 测试
Exists():是否存在
isDirectory():是否目录
isFile():是否文件
3.3 删除
Delete()
4. 列出文件
List():列出所有file类型,返回字符串数组
listFiles():列出所有文件,返回file数组
5. 文件过滤器
listFiles(FileNameFilter filter):返回file数组,列出满足过滤器的文件
listFIles(FIleFilter filter):返回file数组,列出满足过滤器的文件
需要实现过滤器接口,并且重写accept方法

枚举类

枚举的成员变量,实际上是枚举类型的实例,默认是public static final的

由于网络环境下的序列化不好,已慢慢不再使用。

原创粉丝点击