• Java高级部分--工具类(1)


    一.Java API
    1.java.lang
      Java语言包(包含String、StringBuffer、Integer、Math、Math、System等类),任何类中,该包中的类都会被自动导入

    2.java.util

      包含一些实用的工具类( 包含list, calendar, date等类)

    3.java.awt

      图形用户界面包
    4.java.io
      提供多种输入/输出功能的类

    equals与"=="区别:

    equals从值的角度判断是否一致(判断是否长得一致)

    "=="从内存地址角度判断是否一致(判断是不是一个东西)

    二.包装类

    1.基本数据类型转换为包装类(通过构造方法)

    int x = 500;
    Integer y = new Integer(x);

    2.字符串转换为包装类(通过构造方法或者包装类的valueOf(String s))
    字符串通过构造方法转换为包装类
    String x= “500”;
    Integer y= new Integer(x);

    字符串通过包装类的valueOf(String s)转换为包装类
    String x= “500”;
    Integer y= Integer.valueOf(x);

    3.包装类转换为基本数据类型

    包装类通过xxxValue()方法转换为基本数据类型
    Integer x= new Integer(500);
    int y= x.intValue();

    4.包装类转换为字符串

    包装类通过toString()方法转换为字符串
    Integer x= new Integer(500);
    String y= x.toString();

    5.字符串转换为基本数据类型

    字符串通过parseXXX(String s)方法转换为基本数据类型
    String x= “500”;
    int y= Integer.parsetInt(x);

    6.自动的装箱和自动拆箱

    在进行基本数据类型和对应的包装类转换时,系统将自动进行JDK自从5.0版本后引入,方便程序的编写
    int x= 500;
    Integer y= x;
    int n = y;

    三.字符串类

    1.字符串是我们在编程中最常使用的一种数据类型,它的表现形式可以分为两种:String和StringBuffer
    2.它不属于8种基本的数据类型,而是一种引用类型
    3.String对象代表一组不可改变的Unicode字符序列,对它的任何修改实际上又产生一个新的字符串,String类对象的内容一旦被初始化就不能再改变
    4.StringBuffer对象代表一组可改变的Unicode字符序列
    5.同时,String类是final类型的类

    StringBuffer类
    1.StringBuffer类用于内容可以改变的字符串
    2.可以使用StringBuffer来对字符串的内容进行动态操作,不会产生额外的对象

    String与StringBuffer区别:

    String类对象中的内容初始化不可以改变,StringBuffer类对象中的内容可以改变

    •需求:String与StringBuffer互相转换

     1 package demo;
     2 /* String与StringBuffer之间的转换
     3  * String -> StringBuffer
     4  * 方式一:构造方法
     5  * 方式二:通过append方法
     6  * StringBuffer -> String
     7  * 方式一:通过构造方法
     8  * 方式二:通过toString方法
     9  * */
    10 public class StringAndStringBufferSwitch {
    11     public static void main(String[] args) {
    12         //String -> StringBuffer
    13         //创建一个String对象
    14         String str = "Hi Java!";
    15         System.out.println(str);
    16  
    17         //方式一:构造方法
    18         StringBuffer buffer = new StringBuffer(str);
    19         System.out.println(buffer);
    20  
    21         //方式二:通过append方法
    22         StringBuffer buffer2 = new StringBuffer();
    23         buffer2.append(str);
    24         System.out.println(buffer2);
    25  
    26         //StringBuffer -> String
    27         //创建一个StringBuffer对象
    28         StringBuffer buffer3 = new StringBuffer();
    29         buffer3.append("Happy birthday Java!");
    30         System.out.println(buffer3);
    31  
    32         //方式一:通过构造方法
    33         String str2 = new String(buffer3);  
    34         System.out.println(str2);
    35          
    36         //方式二:通过toString方法
    37         String str3 = buffer3.toString();
    38         System.out.println(str3);
    39     }
    40 }

     四.日期类

    SimpleDateFormat类
    1.java.text.SimpleDateFormat
    2.一个以与语言环境相关的方式来格式化和分析日期的具体类。是抽象类java.text.DateFormat类的子类
    3.SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式

    SimpleDateFormat类的使用:
      获取SimpleDateFormat的实例
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

      获取当前系统时间

        new Date();

      将日期格式成指定的字符串

        sdf.format(new Date());

      将格式化的字符串转换成日期对象

        sdf.parse(“2011-07-16”);

    构造方法摘要

                    hashCode    a1.hashCode();   //通常用来判断是否为同一个对象

                    toString      a1.toString();    //直接输出对象相当于利用该对象调用toString方法

    包装类

                    

                Integer i1=new Integer(-200);
                Integer i2=new Integer(-200);

                    MIN_VALUE     Integer.MIN_VALUE;     //int的最小值

                    MAX_VALUE   Integer.MAX_VALUE;    //int最大值

                    compareTo   i1.compareTo(i2);      //比较值:值相等时反会0
                    intValue     i1.intValue()+234;    //转换成基本数据类型

                    

    构造方法摘要

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

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

     int

    compareTo(Integer anotherInteger) 
              在数字上比较两个 Integer 对象。

     int

    intValue() 
              将integer类型转换成int类型

    static int

    parseInt(String s) 
              将String转换成基本数据类型。

             Character

                    isDigit     Character.isDigit('8');   //判断是否为数字

                    isLetter    Character.isLetter(c);   //判断字符值是否为字母

    static boolean

    isDigit(char ch) 
              确定指定字符是否为数字。

    static boolean

    isLetter(char ch) 
              确定指定字符是否为字母。

    static boolean

    isLetter(int codePoint) 
              确定指定字符(Unicode 代码点)是否为字母。

    static boolean

    isLetterOrDigit(int codePoint) 
              确定指定字符(Unicode 代码点)是否为字母或数字。

            String  

                String s1 = "asba,nesbu,ssofst,sbjava";

                String s8=" abc efghijk ";

                    concat      String s6 = s1.concat(" 联系我时请说在58同城上看到的"); // 末尾追加

                  charAt       s1.charAt(1);   //根据索引找到该索引位置上的字符

                  contains     boolean   x=s1.contains("a");  //判断是否包含特定字符     

                   replace   s1.replace("sb", "*");    //替换字符,把s1中的sb字段换成*

                  endsWith   s1.endsWith(".java");   //判断是否以指定结尾为后缀
                  indexOf    s1.indexOf("a");          //根据参数找到参数所对应的下标(第一次出现的),找不到时返回值为-1
                  lastIndexOf  s1.lastIndexOf("a");    //根据参数找到该参数最后一次出现的下标,找不到时返回值为-1

                  split     String s[]=s1.split(",");  //根据参数来拆分字符串 ,返回值为字符串数组
                          for(int i=0;i<s.length;i++){
                          System.out.println(s[i]);
                          }

                  matches    s1.matches("asba,nesbu,ssofst,sb1java");  //判断是否能够匹配

                  substring    String  s2=s1.substring(0);  //从给定参数索引位置开始截取字符串


                  substring  s8.substring(6, 7);    //从开始索引截取到结束索引,包含开始不包含结束
                  trim         s8.trim().equals("abcefghijk");    //去掉前后空格

     String

    concat(String str) 
              将指定字符串连接到此字符串的结尾,末尾追加

     char

    charAt(int index) 
              返回指定索引处的 char 值,根据索引找到该索引位置上的字符

     boolean

    contains(CharSequence s) 
              当且仅当此字符串包含指定的 char 值序列时,返回 true。判断是否包含特定字符

     boolean

    endsWith(String suffix) 
              测试此字符串是否以指定的后缀结束。判断是否以指定结尾为后缀

     boolean

    isEmpty() 
              当且仅当 length() 为 0 时返回 true。

     boolean

    startsWith(String prefix) 
              测试此字符串是否以指定的前缀开始。

    String

    substring(int beginIndex) 
              返回一个新的字符串,它是此字符串的一个子字符串。

     String

    trim() 
             去掉字符串的首尾空格

      

        Math

                  round      Math.round(32434.14));   // 四舍五入取整,返回值为int
                  floor       Math.floor(32434.64));   // 舍位取整,返回值为double
                  ceil       Math.ceil(32434.14));   // 进位取整,返回值是double

      StringBuffer

    StringBuffer sbf1=new StringBuffer("abc"); 


                  append    StringBuffer sbf2=sbf1.append("123");   //末未追加
                  capacity    sbf1.capacity();    //容量
                  delete    delete(0, 3);   //删除:包含开始,不包含结束。下标从0开始

                  insert     sbf1.insert(1, "neusoft");  //在固定下标位置后面新增数据

                  setCharAt   sbf1.setCharAt(0, 'h');     //根据索引,修改替换单个字符

  • 相关阅读:
    Unity3D-光照贴图技术
    登岳麓山
    第一个OC程序
    Unity3D之碰撞体,刚体
    TypeError: 'stepUp' called on an object that does not implement interface HTMLInputElement
    QQ互联登录回调路径错误redirect uri is illegal(100010)
    Quartz.Net使用
    C# 文件相关操作
    微信扫码支付模式一和模式二的区别
    ankhSVN安装后,VS2010使用
  • 原文地址:https://www.cnblogs.com/Pioneer-HengYu/p/6683665.html
Copyright © 2020-2023  润新知