zoukankan      html  css  js  c++  java
  • 自学JAVA-9:基本类常用方法整理

    一、System类
    1、System.currentTimeMillis()    返回1970年1月1日到现在以毫秒为单位的当前时间
    2、System.gc();  就是垃圾回收。用户可以通过System.gc()通过虚拟机加快垃圾回收的速度,但不能控制垃圾回收,回收对象之前会调用finalize()方法做一些清理工作。
    3、System.getProperty()  根据系统参数名称,得到系统参数的值。
    注:@Deprecated,标识该方法为过时方法,已经有更好的方法去替代它,该方法可以用,但是不推荐用。

    二、日期类
    Calendar c = Calendar.getInstance();产生当前时间的日历类对象
    c.add(Calendar.HOUR, 100);   计算当前时间过后一百小时
    int year = c.get(Calendar.YEAR);  得到年
    int month = c.get(Calendar.MONTH);  得到月
    int ri = c.get(Calendar.DATE);  得到日
    Date di = new Date();  产生当前时间的日期对象
    SimpleDateFormat sf = new SimpleDateFormat("yyy年MM月dd日 hh:mm:ss");  构建指定输出格式的日期格式化对象
    String str = sf.format(di);  将指定日期对象,以指定格式输出

    三、包装类与自动装箱拆箱
    基本数据类型相对应的包装类:
    基本数据类型                包装类
    byte                 ·            Byte类
    short              Short类
    int                Integer类
    long               Long类
    float               Float类
    double                Double类
    boolean              Boolean类
    char              Character类
    注:包装类对象中包含的值不可变。

    都具有:XXXValue()方法 显示包装类中封装的数据
    包装类名.ParseXXX()方法 将字符串转化为基本数据类型

    自动装箱:允许使用包装变量,接收基本数据类型的数据。
    Integer x = 4;
    实现过程中,会将基本数据类型的数据,封装成包装类对象,赋值给包装类变量。
    等价于:Integer x = new Integer(4);

    自动拆箱:允许使用包装类对象和基本数据类型的数据进行运算。
    Integer y = new Ineger(5);
    int z = y + 3;
    实现过程中,会调用包装类对象的XXXValue()方法,将包装类中封装的基本数据取出来,再进行运算。
    等价于:int z = y.intValue() + 3;

    四、String类
    String s = "abc";
    String s1 = new String("abc"); 的区别:
    String s = "abc";变量s是指向的字符串常量对象,该对象放在数据段中。
    String s1 = new String("abc");变量s1指向的是堆中的字符串对象,该对象需要以数据段中的字符串常量做为模板,然后将内容拷贝在堆中。
    所以有人说,new String("abc")产生了两个对象,一个在堆中,一个在数据段中。

    String.charAt(int);    得到指定下标的字符
    String1.equals(String2)   比较两个字符串是否相等,要区分大小写
    String1.equalsIgnoreCase(String2)    比较两个字符串是否相等,不区分大小写
    int index = String1.indexOf(String2);      得到字符串String2在String1第一次出现的下标,如果字符串不存在,则返回-1
    int index = String1.lastIndexOf(String2);    得到字符串String2在String1最后一次出现的下标,如果字符串不存在,则返回-1
    String.length()     得到字符串的长度,由个字符组成
    String1.replace(String2, String3)   将String中指定的字符串Sring2,替换为新字符串String3
    String.substring(int)    从下标为int开始,截取Stirng字符串的子串
    String.substring(int1,int2)      从下标为int1开始,到下标为int2结束,截取String字符串的子串,包含下标为int1的字符,但不包含下标为int2的字符
    String.trim()      去掉字符串两头的空格。

    五、正则表达式
    []:匹配[]中的任意一个字符
    {3,10}:前一个规则可以重复的次数,最少3次,最多10次
    {3,}:前一个规则最少出现3次,没有上限限制
    |:或者
    u4e00-u9fa5:匹配汉字
    +:等价于{1,}最少出现一次,没有上限限制
    *:等价于{0,}可以不出现,如果出现也可以多次,没有上限
    ?:等价于{0,1}可以不出现,要出现只能出现一次
    .:任意字符
    d:等价于[0-9],匹配数字
    D:匹配非数字
    w:等价于[a-zA-Z0-9_],匹配合法标识符
    W:匹配非法标识符
    s:匹配空格和回车
    S:匹配非空格和回车

    字符串具有长度不可改变的特性,当对字符串进行添加、删除、替换时,不会更改字符串的内容,而是产生一个新的字符串对象。

    StringBuffer是缓冲区的对象,当对StringBuffer进行数据的添加、删除、替换,不会产生新的对象,直接更改StringBuffer的内容,所以StringBuffer可以解决String的不足。

    如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法即可。

    StringBuilder是线程不安全的,StringBufer是现成安全的。
    性能:StringBuilder > StringBufer > String

  • 相关阅读:
    63.C++异常
    62.C++文件操作list实现内存检索,实现两千万数据秒查
    61.C++文件操作实现硬盘检索
    ios之数据持久化
    ios NSRange
    安排
    接口隔离原则
    Liskon替换原则
    开放封闭原则
    单一职责原则
  • 原文地址:https://www.cnblogs.com/LYL6868/p/8907062.html
Copyright © 2011-2022 走看看