• java基础知识三


    七、Java基础类

    1、Object类

    Object是所有Java类的最终祖先,若没有使用extends关键字显示声明继承某个类,则默认继承Object类

    1.1、equals方法与==

    a==b:

    比较两个基本类型的数据a和b是否相等

    比较两个对象a和b是否是同一个对象的引用(指向的堆中地址是否相同)

    a.equals(b):

    比较两个对象a和b是否是同一个对象的引用(指向的堆中地址是否相同)

    如果要比较两个对象的值是否相等,而不是引用,需要重写equals方法

    1.2、对象的字符串表示

    一个对象通过调用toString方法可以获得该对象的字符串表示

    若一个类没有重写toString方法,该类的对象调用toString方法,得到的字符串格式为:类名@对象的引用(内存地址)

    直接输出类名等价于输出:类名.toString()

    2、String类

    2.1、基本概念

    字符串是字符的有限序列

    Java中使用String类创建一个字符串变量,因此字符串变量是类类型变量,是一个对象

    只读、不可修改,使用+连接,会产生一个新的字符串对象

    字符串常量储存在字符串常量池中

    2.2、创建字符串对象
    public class Main{
    	public static void main(String[] args){
        	// 方法一:声明+创建
            String s1;
            s1 = new String("a");
            // 方法二:声明创建一块
            String s2 = new String("b");
            // 方法三:用已创建的创建另一个
            String s3 = new String(s2);
            // 方法四:直接赋值
            String s4 = "d";
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    直接赋值法:

    该对象直接指向堆内存中的常量池中的该常量的地址

    使用new()方法的:

    该对象指向堆内存的一个空间,该空间再指向常量池中该常量的地址

    2.3、说明

    不是字符串数组,不能使用[ ]操作

    2.4、常用的构造方法
    说明
    String(char[] a)使用一个字符数组创建一个字符串对象
    String(cahr[] a,int startindex,int count)使用字符数组中,从startindex开始的count个字符创建一个字符串对象
    2.5、常用的方法
    使用说明
    对象名.length()返回字符串长度
    对象名.charAt(x)返回索引为x的字符
    对象名.indexOf(“s”)从前往后查找字符串“s”,若找到返回索引,为找到返回-1
    对象名.indexOf(“s”,x)从索引为x的位置开始,从前往后查找字符串“s”,若找到返回索引,为找到返回-1
    对象名.lastIndexOf(“a”)从后往前查找字符串“s”,若找到返回索引,为找到返回-1
    对象名.Substring(st [,end])获取从st开始到(end-1)的字符串,省略end默认到最后
    对象名.split(“s” [,x] )按指定字符串拆分x次(x省略全部拆分),若全部拆分后数量多余x,将第x个拆分后的合并成一个
    对象名.toCharArray()将字符串对象转换为字符数组
    对象名.getBytes()将字符串对象转换为字节数组
    对象名.toUpperCase()转换为大写字母
    对象名.toLowerCase()转换为小写字母
    对象名.raplace()替换
    对象名.trim()删除两边的空格
    对象名.startsWith(" ")判断是否以指定字符串开头
    对象名.endsWith(" ")判断是否以指定字符串结尾
    对象名.contains(" ")判断是否包含指定字符串
    对象名.concat()字符串连接
    对象名.compareTo(对象名2)对象2的ascil编码 - 对象1的ascil编码

    3、StringBuilder类

    创建一个可修改的字符串序列

    4、基本数据类型的包装类

    都是最终类

    //自动装箱
    Integer i = 3 ; // 等价于: Integer i = new Integer(3);
    
    //自动拆箱
    int j = i; //等价于: int j = i.intValue();
    
    • 1
    • 2
    • 3
    • 4
    • 5

    5、System类

    数组复制:System.arraycopy(a,x,b,y,z)

    将a中从x开始的z个元素复制给b从y开始的z个位置

  • 相关阅读:
    Windows下载AOSP
    Ajax--》请求操作以及跨域相关讲解
    STM32之USART2 DMA通信
    m基于遗传优化的不同等级电动汽车充电站的选址方案matlab仿真
    线程的状态
    分布式ETL工具Sqoop实践
    GO请求参数规则校验(自定义校验规则、规则中文化)
    ConnectionError: Couldn‘t reach https://raw.githubusercontent.com问题解决
    FasterNet 与 RT-DTER 的 碰撞,打造 Faster-DTER 目标检测网络 | 《Run, Don’t Walk: Chasing Higher FLOPS for Faster 》
    使用dom4j解析XML
  • 原文地址:https://blog.csdn.net/weixin_62224014/article/details/130913329