常用类学习

1.String类

  • 字符串是常量,创建之后不可改变

  • 字符串字面量存储在字符串池中,可以共享

  • String s = "hello";产生一个对象,字符串池中存储

  • String s = new String("hello");产生两个对象,堆、池各存储一个

常用方法

  • public int length():返回字符串的长度

  • public char charAt(int index):根据线下表获取字符

  • public boolean contains(String str): 判断当前字符串中是否包含str

  • public char[] toCharArray():将字符串转换成数组

  • public int indexOf(String str):查找str首次出现的下标,存在,则返回该下标;不存在,则返回 -1;

  • public int lastindexOf(String str):查找字符串在当前字符串中最后一次出现的下标索引

  • public String trim():去掉字符串前后的空格

  • public String toUpperCase():将小写转成大写

  • public boolean endWith(String str):判断字符串是否以str结尾

  • public String replace(char oldChar,char new Char); 将旧字符串替换成新字符串

  • public String[] split(String str):根据str做拆分

2.Object类

  • 超类、基类,所有类的直接或间接父类,位于继承树的最顶层

  • 任何类,如果没有书写extends显示继承某个类,都默认直接继承Object类,否则为间接继承

  • Object类中所定义的方法,是所有对象都具备的方法

  • Object类型可以储存任何对象

    • 作为参数,可接受任何对象

    • 作为返回值,可返回任何对象

1.getClass()方法

  • public final Class<?> getClass(){}

  • 返回引用中储存的实际对象类型

  • 应用:通常用于判断两个引用中实际存储对象类型是否一致

public class Student {
      private String name;
  ​
      private int age ;
  ​
      public String getName() {
          return name;
      }
  ​
      public void setName(String name) {
          this.name = name;
      }
  ​
      public int getAge() {
          return age;
      }
  ​
      public void setAge(int age) {
          this.age = age;
      }
  ​
      public Student() {
      }
  ​
      public Student(String name, int age) {
          this.name = name;
          this.age = age;
      }
  }

  
  p
ublic class TestStudent {
      public static void main(String[] args) {
          Student s1 = new Student("aaa",20);
          Student s2 = new Student("bbb",22);
  ​
          //判断s1和s2是不是同一个类型(getClass方法)
          Class class1 = s1.getClass();
          Class class2= s2.getClass();
          if(class1==class2){
              System.out.println("s1和s2属于同一个类型");
          }else {
              System.out.println("s1和s2不属于同一个类型");
          }
      }//结果输出,属于同一个类
  }

2.hashCode()方法

  • public int hashCode(){}

  • 返回该对象的哈希码值

  • 哈希值根据对象的地址或字符串或数字使用hash算法计算出来的int类型的数值

  • 一般情况下相同对象返回相同哈希码 

//hashCode方法    

 System.out.println(s1.hashCode());//460141958 
  
 System.out.println(s2.hashCode());//1163157884 
   
 Student s3 = s1;    

 System.out.println(s3.hashCode());//460141958 与s1相等

3.toString()方法

  • public String toString(){}

  • 返回该对象的字符串表示

  • 可以根据程序需求覆盖该方法 如:展示对象各个属性值

      public String toString() {
          return getClass().getName() + "@" + Integer.toHexString(hashCode());
      }

4.equals()方法

  • public boolean equals(Object obj){}

  • 默认实现为(this == obj),比较两个对象地址是否相同

  • 可进行覆盖,比较两个对象的内容是否相同

  
   //equals方法,判断两个对象是否相等
   System.out.println(s1.equals(s2));//false

  
   public boolean equals(Object obj) {
          return (this == obj);
   }

5.finalize()方法

  • 当对象被判定为垃圾对象是,由JVM自动调用此方法,用以标记垃圾对象,进入回收队列

  • 垃圾对象:没有有效引用指向此对象时,为垃圾对象

  • 垃圾回收:由GC销毁垃圾对象,释放数据存储空间

  • 自动回收机制:JVM的内存耗尽,一次性回收所有垃圾对象

  • 手动回收机制:使用System.gc():通知JVM执行垃圾回收

类型转换与装箱、拆箱

  • Number父类中提供6个共性方法

  • parseXXX()静态方法 ​

public class demo1 {
      public static void main(String[] args) {
          //类型转换:装箱,基本类型转成应用类型的过程
  ​
          int num1 = 18 ;
  ​
          //引用Inter类创建对象
          Integer integer = new Integer(num1);
          Integer integer1 = Integer.valueOf(num1);
          System.out.println("装箱");
          System.out.println(integer);//18
          System.out.println(integer1);//18
  ​
  ​
          //类型转换:拆箱,引用类型转成基本类型
          Integer integer2 = new Integer(100);
          int num2=integer2.intValue();
          System.out.println("拆箱");
          System.out.println(num2);//100
  ​
  ​
          //jdk1.5之后,提供自动装箱和拆箱
          int age = 30;
          //自动装箱
          Integer integer3 = age;
          System.out.println(integer3);//30
          //自动拆箱
          int age2=integer3;
          System.out.println(age2);//30
  ​
  ​
          System.out.println("---------------------------");
          //基本类型和字符串之间转换
          //1 基本类型转成字符串
          int n1 =100 ;
          //1.1使用+号
          String s1 = n1+"";
          System.out.println(s1.getClass().getName());
          //1.2使用Integer中的toString()方法
          String s2 = Integer.toString(n1);
          System.out.println(s1);//100
          System.out.println(s2);//100
  ​
          //2.字符串转成基本类型
          String str = "150" ;
          //使用Integer.parseXXX();
          int n2=Integer.parseInt(str);
          System.out.println(n2);//150
  ​
  ​
          //boolean 字符串形式转成基本类型“true”-->true
          String str2 = "true";
          boolean b1 = Boolean.parseBoolean(str2);
          System.out.println(b1);//true
      }
  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值