zoukankan      html  css  js  c++  java
  • J-12 常见对象

    API常用类

    API概述;
    Object类;
    Scanner类;
    String类;

    API概述

    API(Application Programming Interface)
    Java API指的就是JDK中提供的各种功能的Java类。

    Object类

    定义

    类层次结构的根类
    所有类都直接或者间接的继承自该类

    方法

    public int hashCode()
    • 返回该对象的hash值。
    • 注意:
      哈希值是根据哈希算法计算出来的值,与地址值有关。
    public final Class getClass()
    • 返回此 Object 的运行时类。

    • 注意:
      Class类的方法:

        public String getName()
      

    以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。

    public String toString()
    • 返回该对象的字符串表示。

    • 通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。

    • 注意:
      Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:

        getClass().getName() + '@' + Integer.toHexString(hashCode())
      

      Interger类下的一个静态方法:

        public static String toHexString(int i)
      

      以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。

    • 重写该方法:
      手动重写:把该类的所有变量组成返回即可。
      自动生成:右键 -- Source -- Gerenate toString
      快捷键:shift+alt+S -- S

    • 注意:
      直接输出对象的名称时,自动调用该对象的toString()方法。

    public boolean equals(Object obj)
    • 指示其他某个对象是否与此对象“相等”,默认情况下比较的是地址值。

    • 比较地址值意义不大,要重写方法。

    • ==:
      基本类型:比较的是值是否相同
      引用类型:比较的是地址值是否相同

    • 看源码:

          public boolean equals(Object obj)
           {
            return (this == obj);
            }
      
    • 重写方法:
      用来比较对象的成员变量值是否相同。

      • 手动重写:
        判断该对象名是否是该类名的一个对象
        格式:

          对象名 instanceof 类名
        
      • 自动重写:右键 -- Source -- Gerenate hashCode(),equals()
        快捷键:shift+alt+S -- h

    protected void finalize()
    • 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。子类重写 finalize 方法,以配置系统资源或执行其他清除。
    • 用于垃圾回收,但何时回收不确定
    protected Object clone()
    • 创建并返回此对象的一个副本。
    • 标记接口:告诉我们实现该接口的类就可以实现对象的复制了。
      Cloneable:此类实现了 Cloneable 接口,以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制。
    • 克隆,是复制了新的对象,改变原对象值时,克隆后的对象值不改变。

    Scanner类

    定义

    • JDK5以后用于获取用户的键盘输入。

    • 导包:import java.util.Scanner;

    • 使用方法:

        Scanner sc = new Scanner(System.in);
      
    • System类下有一个静态的字段
      public static final InputStream in; // “标准”输入流,对应着键盘录入.

    • 使用的构造方法
      Scanner(InputStream source) 构造一个新的 Scanner,它生成的值是从指定的输入流扫描的。

    方法

    基本格式:
    • public boolean hasNextXxx(); 判断是否是某种类型的元素
      判断是否还有下一个输入项,其中Xxx可以是Int,Double等。如果需要判断是否包含下一个字符串,则可以省略Xxx

    • public Xxx nextXxx(); 获取该元素
      获取下一个输入项。Xxx的含义和上个方法中的Xxx相同
      默认情况下,Scanner使用空格,回车等作为分隔符

    以int举例
    • public boolean hasNextInt()
    • public int nextInt()
    常用方法
    • public int nextInt()
      获取一个int值

    • public String nextLine()
      获取一个String类型的值

    • 出现问题:
      先获取一个int值,再获取一个字符串。
      解决方案:
      ① 先获取一个数值后,再创建一个新的键盘录入对象获取字符串。
      ② 把所有数据都先按照字符串获取,然后要什么就对应的转换成什么。

    String类

    概述

    • 定义:
      字符串是由多个字符组成的一串数据(字符序列)
      字符串可以看成是字符数组
    • 特点:
      ① 字符串字面值“abc”也可以看成一个字符数组。
      ② 字符串是常量,一旦被赋值,就不能被改变。

    构造方法

    • public String()
      空构造
    • public String(byte[] bytes)
      把字节数组转成字符串,通过ASCII码转成字符串。
    • public String(byte[] bytes,int offset,int length)
      把字节数组的一部分转成字符串
    • public String(char[] value)
      把字符数组转成字符串
    • public String(char[] value,int offset,int count)
      把字符数组的一部分转成字符串
    • public String(String original)
      把字符串常量转成字符串

    创建对象

    • String字面值对象

        String s = "hello";
      
    • 构造方法创建对象

        String s = new String("hello");
      
    • 区别:
      前者创建一个对象(方法区中),后者创建两个对象(堆内存、方法区中)。

    判断功能

    • boolean equals(Object obj)
      比较字符串内容是否相同 ,区分大小写。

    • boolean equalsIgnoreCase(String str)
      比较字符串内容是否相同 ,不区分大小写。

    • boolean contains(String str)
      判断大字符串中是否包含小字符串

    • boolean startsWith(String str)
      判断字符串是否以某个指定字符串开头

    • boolean endsWith(String str)
      判断字符串是否以某个指定字符串结尾

    • boolean isEmpty()
      判断字符串是否为空
      内容为空

      String s = "";
      字符串对象为空

      String s = null;

    获取功能

    • 注意:
      不存在返回 *- 1
    • int length()
      获取字符串的长度
    • char charAt(int index)
      获取指定索引位置的字符
    • int indexOf(int ch)
      返回指定字符在此字符串中第一次出现处的索引。
      返回值为int类型,即返回的是ASCII码。
    • int indexOf(String str)
      返回指定字符串在此字符串中第一次出现处的索引。
    • int indexOf(int ch,int fromIndex)
      返回指定字符在此字符串中,从指定位置后第一次出现处的索引。
    • int indexOf(String str,int fromIndex)
      返回指定字符串在此字符串中,从指定位置后第一次出现处的索引。
    • String substring(int start)
      从指定位置开始截取字符串,默认到末尾结束
    • String substring(int start,int end)
      从指定位置开始到指定位置结束截取字符串,包括start索引不包括end索引(包左不包右)

    转换功能

    • byte[] getBytes()
      把字符串转换为字节数组,打印ASCII码
    • char[] toCharArray()
      把字符串转换为字符数组,打印每一个字符的值
    • static String valueOf(char[] chs)
      把字符数组转成字符串
    • static String valueOf(int i)
      把int类型的数据转成字符串。
      注意String类的valueOf方法可以把任意类型的数据转换为字符串
    • String toLowerCase()
      把字符串转成小写
    • String toUpperCase()
      把字符串转成大写
    • String concat(String str)
      把字符串拼接

    其他功能

    • 替换功能
    String replace(char old,char new)
    String replace(String old,String new)
    • 去除字符串两空格
    String trim()
    • 按字典顺序比较两个字符串
    int compareTo(String str)

    ①返回ASCII码的差值 hello,owo
    ②返回长度的差值 hello,hel

    int compareToIgnoreCase(String str)
  • 相关阅读:
    nginx配置url伪静态
    PHP爬虫之queryList
    PHP 判断给定两个时间是否在同一周,月,年
    服务器nginx配置显示文件而不是下载
    PHP yield占用内存测试
    PHP 函数运行的内存
    io系列之字节流
    io系列之字符流
    对于Arrays的deep相关的方法。
    常用工具类(System,Runtime,Date,Calendar,Math)
  • 原文地址:https://www.cnblogs.com/android-lyz/p/4813874.html
Copyright © 2011-2022 走看看