Java中的API常用类

来源:互联网 发布:每天编程一小时网站 编辑:程序博客网 时间:2024/05/21 10:02
String类:
 boolean startsWith(String str),是否以指定的字符串为前缀。
 boolean endsWith(String str),是否以指定的字符串为后缀。
 boolean isEmpty(),判断字符串是否为空,指字符串里的字符。
           int indexOf(int ch),返回指定字符在此字符串中第一次出现处的索引。
                int indexOf(String str),返回指定字符串在此字符串中第一次出现处的索引。
           int indexOf(int ch,int fromIndex),返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
            int indexOf(String str,int fromIndex),返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
            String substring(int start),返回一个从start处开始到字符串结束的新字符串。
            String substring(int start,int end) ,返回一个从start处开始到end - 1处的新字符串。
            byte[] getBytes(),将字符串中的字符存到byte数组中。
            char[] toCharArray(),将字符串转换为一个新的字符数组。
             static String valueOf(char[] chs),将字符数组里的元素转换成一个新的字符串。
            static String valueOf(int i),将int类型的数值转换成新的字符串。
            String toLowerCase(),将字符全部转换为小写。
             String toUpperCase(),将字符全部转换为大写。
             String concat(String str) ,将str字符串连接在此字符串的后面。
             String replace(char old,char new),new字符替换old字符。
            String replace(String old,String new),new字符串替换old字符串。
            String trim(),返回一个新字符串,去掉字符串首尾的空格,多用于用户登录界面。
             int compareTo(String str),按字典顺序比较两个字符串,区分大小写。
             int compareToIgnoreCase(String str) ,按字典顺序比较两个字符串,不区分大小写。

 char charAt(int index),返回index处的一个字符。

        boolean contains(CharSequence s),字符串中是否包含指定的字符串。返回true或者false。

        int length(),返回字符串的长度。

        Sting [] split(String regex),根据给定的regex拆分字符串,返回值为字符串数组。

StringBuffer类:
        如果对字符串进行拼接操作,每次拼接都会构建一个新的String对象,既耗时,又浪费空间。而StringBuffer就可以解决这个问题。
        1、容量,默认为16,可用构造方法public StringBuffer(int capacity)设置,表示可存储最大字符数量。
        StringBuffer buf = new StringBuffer("abc");  //容量为19 
        2、长度,表示StringBuffer对象中当前存储的字符数量。
        3、常用方法: 
       public StringBuffer append(String str),将str添加到此字符串的末尾,字符串的内容会被改变。而String类是在内存中开辟一个新的空间用来存储一个新的字符串,丢弃旧的字符串,浪费了空间。
        public StringBuffer insert(int offset,String str),将str添加到字符串的指定位置。
        public StringBuffer deleteCharAt(int index),删除指定位置的字符。
        public StringBuffer delete(int start,int end),删除从start处开始到end - 1处结束的字符串。
        public StringBuffer replace(int start,int end,String str),用str替换从start处开始到end - 1处结束的字符串。
        public StringBuffer reverse(),倒置字符串。
                        StringBuffer buf = new StringBuffer("123");  
                  buf.reverse();
                        System.out.println("buf = "+buf.toString());    //buf里的内容为"321" 
            public String substring(int start),这个方法和String类的功能一样,不再解释了。
            public String substring(int start,int end),截取功能返回值类型是String类型,StringBuffer对象的内容不会发生改变。
String类与StringBuffer类的区别
    1、String:
     1)String代表Java中的字符串。 
         2)String可以不用new,直接赋值。也可以使用构造方法赋值
        3)当使用字符串常量赋值时,其值存在常量池中,地址是常量池中的地址;
                      当使用new关键字重新赋值时,地址是堆中的地址。 
        4)String的不可变性。String类用final修饰。
                   String s = "abc";
                   s = "bcd";    //改变的是s的地址,不是"abc"的值。
         5)String类型的对象转换为StringBuffer类型。
                    String str = "123";
                     StringBuffer buf = new StringBuffer(str);
    2、StringBuffer:
         1)如果经常对字符串进行增、删操作,建议使用StringBuffer;
        2)StringBuffer和String的区别:StringBuffer是可变的;String是不可变的;
        3)StringBuffer类型的对象转换为String类型要加上toString()方法。
                       StringBuffer buf = new StringBuffer("abc");
                            String str = buf.toString(); 
    3、StringBuilder和StringBuffer的区别:
1).StringBuffer:
A).从JDK1.0开始;
B).线程安全的。效率低;(可用于多线程)
2).StringBuilder:
A).从JDK5.0开始;
B).线程不安全。效率高; (用于单线程)
Arrays类:
            public static String toString(int[] a):将数组内容封装为字符串返回;
            public static void sort(int[] a):将数组进行升序排序(快速排序);此方法无返回值,排序后,原数组的顺序将发生改变;
            public static int binarySearch(int[] a,int key):二分查找。注意:查找的数组必须要先进行排序。
 Object类
是Java类库中所有引用类型的超类,包括数组和我们自己定义的类都隐式得继承Object类。
        常用方法:1、hashCode():获得哈希值,通过地址换算出来的。
                          2、getClass():获取一个Class对象的引用。
                          3、toString():返回一个字符串。这个字符串描述了对象的信息
                                                    Object类的默认实现:类名+"@"+十六进制的哈希值
                          4、equals():比较两个对象是否相等。返回值为boolean类型
                          5、finalize():当垃圾回收器回收空间之前调用的一个方法。
                          6、clone():复制一个对象。要求调用的类,必须实现Cloneable接口
Scanner类:
1、hasNextInt():判断后面能否获取一个int值。
2、nextInt():获取一个int值。


Integer类:

一、构造方法:

    public Integer(int value),构造一个新分配的 Integer 对象,它表示指定的 int 值。

    public Integer(String s),构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。

    public int intValue(),将Integer 对象的值转换为int 类型。

    public static int parseInt(String s),其他进制到十进制的转换。

    public static String toString(int i),int类型转换为字符串类型。

    public static Integer valueOf(int i),将int转换为Integer类型

    public static Integer valueOf(String s),返回保存指定的 String 的值的 Integer 对象。

二、String类型与int类型的相互转换:

    int --> String

    public String toString()  //调用成员方法

    public static String toString(int i)  //调用静态方法

    String.valueOf(int i);  //调用String类的静态方法

    String --> int

    int i = parseInt(“123”); //调用静态方法,字符串必须是纯数字

    int i = Integer.valueOf(“123”).intValue(); 

    //先将字符串转换为Integer类型,再调用intValue方法转换为int类型

三、常用方法:

1、将十进制的数字转成二进制,八进制,十六进制

    toBinaryString(int i)

    toOctalString(int i)

    toHexString(int i)

2、十进制到其他进制

toString(int i,int radix)//将int值i,以指定的基数radix表示

四、装箱和拆箱

打包[装箱]:将基本类型的值封装成类类型

    int i=100;

    Integer t1 = new Integer(t);
        
Integer t2 = 200;

拆包[拆箱]:从类类型的对象中提取基本类型的数据

    int i1 = t1.intValue();
        
int i2 = t2;

五、阀值

Integer类型的对象的阀值从-128到127,数值在short类型的范围内返回同一个引用,数值>=128则new一个新的对象。


Pattern类:正则表达式

Pattern和Matcher类的使用,典型的调用顺序:

        Pattern p = Pattern.compile("a*b");

        Matcher m = p.matcher("aaaaab");

       boolean b = m.matches(); 

一、常用方法:

public boolean matches(String regex),判断字符串中是否匹配正则表达式regex。

public String[] split(String regex),根据正则表达式regex拆分字符串,返回到字符串数组中,regex不存到数组中。

public String replaceAll(String regex,String replacement),使用给定的replacement替换此字符串所有匹配正则表达式的子字符串。

二、构造与匹配

构造

匹配

字符类

[abc]

a或bc(简单类)

[^abc]

任何字符,除了 ab 或 c(否定)

[a-zA-Z]

a 到 z 或 A 到 Z,两头的字母包括在内(范围)

[a-d[m-p]]

a 到 d 或 m 到 p[a-dm-p](并集)

[a-z&&[def]]

de 或 f(交集)

[a-z&&[^bc]]

a 到 z,除了 b 和 c[ad-z](减去)

[a-z&&[^m-p]]

a 到 z,而非 m 到 p[a-lq-z](减去)

预定义字符类

.

任何字符(与行结束符可能匹配也可能不匹配)

\d

数字:[0-9]

\D

非数字: [^0-9]

\s

空白字符:[ \t\n\x0B\f\r]

\S

非空白字符:[^\s]

\w

单词字符:[a-zA-Z_0-9]

\W

非单词字符:[^\w]

Greedy 数量词

?

一次或一次也没有

*

零次或多次

+

一次或多次

{n}

恰好 n 次

{n,}

至少 n 次

{n,m}

至少 n 次,但是不超过 m 次

分组

()

用小括号来分组,外面的小括号编号优先

\\1

分组的编号,表示第一组

$1

取值,表示取第一组里面的值

String str = "abbbcccddefffffggghhiii";

String regex = "(.)\\1+"; //这里的1代表引用这个组

String newStr = str.replaceAll(regex, "$1");//这个1代表取  //这组里面的值

System.out.println(newStr);

三、分组和捕获

捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B(C))) 中,存在四个这样的组:

1    

((A)(B(C)))

2    

\A

3    

(B(C))

4    

(C)

组零始终代表整个表达式。 


Math类

public static int abs(int a),返回参数的绝对值

public static double ceil(double a),返回最小的double值(最接近负无穷大),此值大于等于参数,并等于某个整数。

public static double floor(double a),返回最大的double值(最接近正无穷大),此值小于等于参数,并等于某个整数。

public static int round(float a),返回最接近参数的int,四舍五入。

public static double sqrt(double a),返回正平方根。

public static double pow(double a,double b),返回a的b次方。

public static double random(),返回一个大于等于0小于1的随机数。


Random类

一、构造方法

public Random(),创建一个新的随机数生成器。

public Random(long seed),使用单个 long 种子创建一个新的随机数生成器。通过一个种子调用固定的算法生产的随机序列。每次运行都是一样的序列,相同的种子生成的随机序列也是一样的。

二、常用方法

public int nextInt(),返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。

public int nextInt(int n),返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。


System类

一、常用方法

public static void gc(),运行垃圾回收器。

public static void exit(int status),终止当前正在运行的 Java 虚拟机。参数只有0,表示正常退出。

public static long currentTimeMillis(),返回以毫秒为单位的当前时间。

 public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length),从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。

src - 源数组。

srcPos - 源数组中的起始位置。

dest - 目标数组。

destPos - 目标数据中的起始位置。

length - 要复制的数组元素的数量。

 

BigInteger类:可以处理比double类型范围还大的数。

一、构造方法

public BigInteger(String val),通过构造方法接收一个纯数字的字符串来初始化一个BigInteger类的一个对象。

二、成员方法

public BigInteger add(BigInteger val),加

public BigInteger subtract(BigInteger val),减

public BigInteger multiply(BigInteger val),乘

public BigInteger divide(BigInteger val),除

public BigInteger[] divideAndRemainder(BigInteger val),返回包含 (this / val) 后跟 (this % val) 的两个 BigInteger 的数组。数组长度为2。数组元素一个为整除后的的结果,一个为取模后的结果。


BigDecimal类:进行精度的运算用这个类,不推荐用float和double。

一、构造方法

public BigDecimal(String val),

二、成员方法

public BigDecimal add(BigDecimal augend),加

public BigDecimal subtract(BigDecimal subtrahend),减

public BigDecimal multiply(BigDecimal multiplicand),乘

public BigDecimal divide(BigDecimal divisor),除(不推荐使用)

public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode),除(推荐使用)

divisor - 此 BigDecimal 要除以的值。

scale - 要返回的 BigDecimal 商的标度。小数点的位数 

roundingMode - 要应用的舍入模式。

返回一个 BigDecimal,其值为(this/divisor)其标度为指定标度。如果必须执行舍入,以生成具有指定标度的结果,则应用指定的舍入模式。

        public BigDecimal divide(BigDecimal divisor,int scale, RoundingMode roundingMode),除(推荐使用),第三个参数和上面方法的第三个参数类型不同,参数意义都是一样的。第三个参数为HALF_UP表示四舍五入。


Date类

一、构造方法

public Date(),分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。当前时间。

public Date(long date),分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。

二、成员方法

public long getTime(),返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

public void setTime(long time),设置此 Date 对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后time 毫秒的时间点。设置新的毫秒值。


DateFormat类:抽象类 使用其子类SimpleDateFormat类

一、SimpleDateFormat类的构造方法

public SimpleDateFormat(),用默认的模式和默认语言环境的日期格式符号构造 SimpleDateFormat

public SimpleDateFormat(String pattern),用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat

二、SimpleDateFormat类的成员方法

        public final String format(Date date),将一个 Date 格式化为日期/时间字符串。

 public Date parse(String source),从给定字符串的开始解析文本,以生成一个日期。构造SimpleDateFormat时表示的格式一定要和String的格式一样,否则会抛异常。

三、字符串和日期之间的转换

String --> Date: parse()

Date --> String: format()


Calendar类:抽象类

可以使用子类GregorianCalendar,也可以通过成员方法获得一个子类对象。

一、成员方法

       public static Calendar getInstance(),静态方法,用来获取一个子类对象。

public int get(int field),可以获取任何字段的值,通过参数来区分。参数在Calendar类中有常量表示。

public void add(int field,int amount),在某个字段field上添加amount值。

public final void set(int year,int month,int date),设置新的年月日。
二、举例 
 

Calendar c = Calendar.getInstance();

int year = c.get(Calendar.YEAR);

int month = c.get(Calendar.MONTH);

int day = c.get(Calendar.DAY_OF_MONTH);


0 0
原创粉丝点击