Java SE 1

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Zero_Jones/article/details/82847247

Java SE

1.Object

在Java类继承结构中,java.lang.Object类位于顶端。如果定义一个Java类时没有使用extends关键字声明其父类,则其父类为java.lang.Object类。Object定义了“对象”的基本行为,被子类默认继承。

    public class Cat {
        
    }
    //等价于
    public class Foo extends Object {
        
    }

toString方法

Object类中定义有toString方法,用于返回对象的字符串表示。
所有的Java类都继承了toString方法,Object类toString方法返回的字符串形式为:“类名@ hashCode值”。
Java类可以根据需求重写toString方法以返回更有意义的信息。

public class Rect {
    int x;
    int y;
    int width;
    int height;


    public void setLocation(int x1,int y1) {
        x = x1;
        y = y1;
    }

    public void setSize(int w,int h) {
        width = w;
        height = h;
    }

    public String toString() {
        return "x=" + x + ",y=" + y + ",width=" + width + ",height =" + height;
    }
}

equals方法

Object的equals方法用于对象 “相等” 逻辑。
equals方法的定义如下:

    public boolean equals(Object obj) {
        return (this == obj);
        //当this和obj是同一个对象时才会返回true。
    }

2.String 和 StingBuilder

String的特性(不可变)

java.lang.String用于封装字符串序列。
String类属于不可变类,即String对象一经创建后,其封装的字符串序列是不能改变的。

        String str = "WhatisJava";
        str = str.toUpperCase();
        //toUpperCase将返回字符串的大写形式,但并不是将原字符串变大写,而是返回一个信息的字符串。
        System.out.println(str);
        String s1 = "Hello";
        String s2 = s1;
        String s3 = "word";
        s1 += s3;

        System.out.println(s1);//Helloword
        System.out.println(s2);//Hello
        System.out.println(s3);//word
        //引用变量变了,String对象没有变。

String的特性(常量池)

Java可以直接使用直接量“字符序列”创建字符循环序列:
String str = "HelloWord"
出于性能考虑,JVM会将字符串字面量对象缓存在常量池中。如有重复,JVM首先会在缓存池中查找,若存在直接返回。

String的基本方法

  • 简单基本方法

    • String toLowerCase() //返回字符串的小写形式
    • String toUpperCase() //返回字符串的大写形式
    • String trim() //去掉前后的空白
    • boolean startsWith(String prefix) //判断字符串是否以什么开头
    • boolean endsWith(String prefix) //判断字符串是否以什么结尾
    • int length() //返回字符串序列的长度
  • indexOf方法
    indexOf方法用于实现在字符串中检索另一个字符串。

    • int indexOf(String str) //在字符串中检索str,返回第一个的位置,没有返回-1
    • int indexOf(String str,int fromIndex) //从fromIndex位置开始检索
    • int lastIndexOf(String str) //返回最后一个出现的位置
  • charAt方法

    • char charAt(int index) //用于返回字符串指定位置的字符
  • substring方法

    • String substring(int beginIndex,int endIndex) //返回字符串从下标开始到结束的子字符串。
    • String substing(int beginIndex) //返回从下标开始到结尾的字符串
  • getBytes方法

    • byte[] getBytes(String charsetName) //按照指定编码,返回字符串的二进制序列
    • byte[] getBytes() //按系统默认的编码,返回字符串的二进制序列
        String s1 = "御龙林Spuer";
        byte[] arr = s1.getBytes();
        System.out.println(Arrays.toString(arr));
        //[-27, -66, -95, -23, -66, -103, -26, -98, -105, 83, 112, 117, 101, 114]
    
  • split方法
    String的split方法可以将字符串按照特定的分隔符拆分为字符串数组。
    String[] split(String regex) //参数regex为正则表达式

        String s5 = "ffff 0000 1234 5678";
        String[] arr = s5.split("\\s");
        System.out.println(Arrays.toString(arr));
        //[ffff, 0000, 1234, 5678]
    

StringBuilder

和String对象不同,StringBuilder封装可变的字符串,对象创建后可以通过调用方法改变其封装的字符序列。
StringBuilder常用的构造方法:

    public StringBuilder()
    public StringBuilder(String str)

StringBuilder常用方法 append、insert、delete和replace、reverse等,用于追加、插入、删除、翻转

  • StringBuilder append(CharSequence s)
  • StringBuilder append(int s)
  • StringBuilder insert(int dstOffset,CharSequence s)
  • StringBuilder insert(int dstOffset,int s)
  • StringBuilder delete(int start,int end)
  • StringBuilder replace(int start,int end,String str)
  • StringBuilder reverse()

3.Commons-lang简介

commons-lang是Apache Commons项目的一个组件,针对JDK官方的java.lang包中的类提供了一些使用的补充。

StringUtils常用方法

针对字符串操作的工具类

  • String repeat(String str,int reprat) //重复字符串若干次
  • String join(Object[] array,String separator) //将一个数组中的元素连接成字符串
  • String leftPad(String str,int Size,char padChar) //向左边填充指定字符已达到指定长度
  • String rightPad(String str,int Size,char padChar) //向右边填充指定字符已达到指定长度

猜你喜欢

转载自blog.csdn.net/Zero_Jones/article/details/82847247