java常用类

1.String

  • String表示字符串,所谓字符串,就是一连串的字符;
  • String是不可变类,一旦String对象被创建,包含在对象中的字符序列(内容)是不可变的,直到对象被销毁;

2.String常量池

String使用private final char value[]来实现字符串的存储,也就是说String对象创建之后,就不能再修改此对象中存储的字符串内容,就是因为如此,才说String类型是不可变的.
String对象比较:

  1. 单独使用""引号创建的字符串都是常量,编译期就已经确定存储到常量池中;
  2. 使用new String("")创建的对象会存储到堆内存中,是运行期新创建的;
  3. 使用只包含常量的字符串连接符如"aa" + "bb"创建的也是常量,编译期就能确定,已经确定存储到常量池中;
  4. 使用包含变量的字符串连接符如"aa" + s1创建的对象是运行期才创建的,存储在堆中;
  • 常用方法:
    String():初始化一个新的 String 对象,使其表示一个空字符序列,并不是返回空(不等于 null)。
    String(StringBuffer buffer):根据StringBuffer对象来创建String对象;
    String(StringBuilder builder):同上
    char charAt(int index):取字符串中指定位置的字符,index从0开始计算。
    String concat(String str):连接字符串,等同于 “+”;
    boolean contentEquals(StringBuffer buffer):若二者包含的字符序列相同时就返回true;
    boolean equals(Object obj):将该字符串与指定对象比较,若二者包含的字符序列相等返回true;
    boolean equalsIgnoreCase(String anotherString) 将此 String 与另一个 String 比较,不考虑大小写;
    byte[] getBytes():将该字符串转换成byte数组;

int indexOf(String str):找出str字符串在该字符串中第一次出现的位置;
int indexOf(String str, int fromIndex) 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始;
int lastIndexOf(String str) 返回指定子字符串在此字符串中最后一次出现处的索引;
int length():返回当前字符串长度;
String replace(char oldChar, char newChar) :返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
String replaceAll(String regex, String replacement) 使用给定的 字符串replacement 替换此字符串所有的regex字符串;
boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开始.

String[] split(String regex): 把字符串按指定的字符串分隔开。
String substring(int beginIndex) 返回一个新的字符串,从beginIndex开始截取,它是此字符串的一个子字符串;
String substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串;[begin,end)
char[] toCharArray() 将此字符串转换为一个新的字符数组。
String toLowerCase() 将此 String 中的所有字符都转换为小写;
String toUpperCase()转成大写;
static String valueOf(基本类型 obj):把基本类型值转成字符串;
String trim() :忽略字符串前导空白和尾部空白。

3.StringBuffer& StringBuilder

  • StringBuffer: 是线程安全的;
  • StringBuilder: 是线程不安全的,性能高点,推荐使StringBuilder;(jdk1.5出现)
  • StringBuffer的字符序列是可变的(通过append等方法操作)
  • StringBuffer 和 String之间的转换;
  • String toString() 返回此序列中数据的字符串表示形式。
  • StringBuffer(String str):以指定的字符串创建StringBuffer对象。
  • public StringBuilder()构造一个不带任何字符的StringBuilder对象。
  • StringBuffer(String str) :构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。
  • StringBuffer append(Object o) :将指定的任意类型对象追加到此StringBuffer 对象。
  • StringBuffer insert(int offset, Object o) :将任意类型参数的字符串表示形式插入此序列中。
  • StringBuffer delete(int start, int end) :移除此序列的子字符串中的字符。
  • StringBuffer deleteCharAt(int index): 移除此序列指定位置的 char。

4.Math

  • public final class Math extends Object以下X表示double,float,int, long
  • abs(X x):求绝对值
  • max(X x1,X x2):求最大值
  • min(X x1,X x2):求最小值
  • public static double random():返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。和使用new java.util.Random一样
  • Math.PI;

5.Random

  • 负责生成伪随机数;
    Random() 创建一个新的随机数生成器。
    int nextInt() 返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
    int nextInt(int n) 返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值n(不包括)之间均匀分布的 int 值。

6.BigInteger

  • 若操作的时候一个整数数据范围超出long的范围,则数据无法装入,此时只有使用BigInteger了。
  • 常见方法:
    BigInteger(String val) 将 十进制字符串表示形式转换为 BigInteger。
    add 取代 +
    subtract 取代 -
    multiply 取代 *
    divide 取代 /
    BigInteger[] divideAndRemainder(BigInteger val) :数组的第一个元素表示商,数组第二个元素表示余数:(this / val)。

7.BigDecimal

  • 在处理金钱或者 要求高精度的数据的时候,推荐使用;
    xx xxValue() 将此 BigDecimal 转换为 xx类型(xx表示基本数据类型,char,boolean除外)。
  • 能准确表示和计算浮点数
    add 取代 +
    subtract 取代 -
    multiply 取代 *
    divide 取代 /

8.Date(java.util.Date)

  • 处理日期,时间;
  • 大部分的方法已过时,不推荐使用,但是你使用过时的方法也不会报错。
  • Date() 分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
  • Date(long date) 分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
  • boolean after(Date when) 测试此日期是否在指定日期之后。
  • boolean before(Date when) 测试此日期是否在指定日期之前。

9.SimpleDateFormat

  • java.text.SimpleDateFormat
  • SimpleDateFormat 是一个与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
  • SimpleDateFormat(String pattern) 用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
  • public final String format(Date date)将一个 Date 格式化为日期/时间字符串。
  • public Date parse(String source) throws ParseException:把字符串source表示的时间按source的格式转成Date对象。

10.Calendar

  • 推荐使用处理日期和时间的类Calendar;
    是抽象类,不能实例化,通过
    static Calendar getInstance() 获得一个Calendar对象。
    int get(int field):返回指定日历字段值
  • 静态常量:
    YEAR 表示年的字段数字。
    MONTH 表示月份字段数字,月份范围是[0,11]。
    DATE 表示一个月中的某天。
    DAY_OF_MONTH 表示一个月中的某天。
    DAY_OF_WEEK 表示一个星期中的某天。
    HOUR_OF_DAY / HOUR 表示第几小时
    MINUTE 表示第几分钟
    SECOND 表示第几秒

11.System

  • System 类包含一些与系统相关的类字段和方法。它不能被实例化,类中所有属性和方法都是static,可直接被System调用。
  • 常用方法:
    static void exit(int status) 终止虚拟机的运行.对于发生了异常情况而想终止虚拟机的运行,传递一个非0数值,对于正常情况下退出系统传递0值; 该方法实际调用的是 Runtime.getRuntime().exit(int status);
    static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 数组拷贝
    static long currentTimeMillis() 返回以毫秒为单位的当前时间。
    String getenv(String name) 获得指定的环境变量;
    static void gc() 运行垃圾回收器。
    实际上调用了 Runtime中的gc()方法;
    Runtime.getRuntime().exec("notepad ");
    static Properties getProperties() 取得当前的系统属性。
    static String getProperty(String key) 取得指定键指示的系统属性。
    static String getProperty(String key, String def) 获取用指定键描述的系统属性,def表示默认信息。

12.正则表达式

Pattern类和Matcher类
两个类存在于java.util.regex包中;
Pattern类主要是编写正则表达式规范;
Matcher类主要是执行规范,验证字符串是否符合其规范;

posted @ 2021-03-13 17:58  不吃海带丝  阅读(40)  评论(0编辑  收藏  举报