栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中的常用类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的常用类

Java中的常用类

文章目录
      • 一、String类
        • 1.相关概念
          • (1)引用数据类型
          • (2)字符串的标志
          • (4)另一种创建方法
        • 2.String类常用方法
          • (1)String构造方法
          • (2)String.equals()方法
          • (3)String.length()方法
          • (4)String.compareTo()方法
          • (5)String.contains()方法
          • (6)String.endsWith()方法
          • (7)String.isEmpty()方法
        • 3.字符串与字符
          • (1)String.toCharArray()方法
          • (2)String.indexOf()方法
          • (3)String.replace()方法
          • (3)String.spilt()方法
          • (4)String.substring()方法
          • (5)String.toLowerCase()方法
          • (6)String.trim()方法
        • 4.字符串与基本数据类型转换
          • (1)String.valueOf()方法
      • 二、Date类
        • 1.构造方法
          • 2.SimpleDateFormat
        • 3.String.format()方法

一、String类 1.相关概念 (1)引用数据类型

▼String表示字符串类型,是引用数据类型,不属于基本数据类型。
▼String类在java.lang包中。

(2)字符串的标志

▼字符串的标志是双引号,而且字符串是常量,不可变。
▼在JDK中,字符串是存储在方法区字符串常量池中,为了提升开发效率高,并且Java中的垃圾回收器不会回收常量。

(3)字符串的并置运算

String s1="abc";
String s2="def"+"gfhi";

s1是字符串常量"abc"的引用,即abc的内存地址,即s1是存储地址的变量。
▼s2语句中实际在在常量池中生出三个字符串常量对象,“def”,“gfhi”,最后因为加号并置运算生成"defgfhi"对象,s2指向"defgfhi"。
▼在Java中无法输出引用,因为调用引用时自动调用重写(构造时已经重写)后toString()输出字符串。

(4)另一种创建方法
String s3=new String("xy");

可以采用类new创建方法,其构建原理如图所示,存储在堆中。

(5)同一个引用

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1="hello";
        String s2="hello";
        System.out.println(s1==s2);
    }
}

打印输出为true,证明s1与s2指向同一个引用

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1=new String("hello");
        String s2=new String("hello");
        System.out.println(s1==s2);
    }
}

打印输出为false,证明在堆中s1与s2不是同一个类对象,而且说明字符串比较不应用==来比较

2.String类常用方法 (1)String构造方法
ackage string;

public class Stringtest {
    public static void main(String args[]){
        String s1="我爱你中国";

        String s2=new String("我爱你中国");

        char[] chas={'我','爱','你','中','国'};
        String s3=new String(chas);

        String s4=new String(chas,0,5);//起始下标,终点下标,左闭右开

        byte[] bytes={'a','b','c'};
        String s5=new String(bytes);

        String s6=new String(bytes,0,3);

        System.out.println(s1);
        System.out.println(s2);
        System.out.println(s3);
        System.out.println(s4);
        System.out.println(s5);
        System.out.println(s6);
    }
}
(2)String.equals()方法

用于比较两个字符串是否相同,返回布尔值。

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1=new String("hello");
        String s2=new String("hello");
        System.out.println(s1.equals(s2));
    }
}

与compareTo()方法不同,equals不能返回长度差,专一判断是否相同,执行效率更快。

拓展:String.equalsIgnoreCase()方法

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1="ABCDE";
        String s2="abcde";
        System.out.println(s1.equalsIgnoreCase(s2));
    }
}

输出true,这忽略字母大小进行比较,也比较常用。

(3)String.length()方法

返回字符串长度

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1=new String("hello");
        System.out.println(s1.length());
    }
}

(3)String.charAt()方法
字符串索引,返回char型

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1="我爱你中国";
        System.out.println(s1.charAt(1));
    }
}

输出字符"爱"。

(4)String.compareTo()方法

返回int型:
前>后,返回正值(不同长度返回长度差,相同长度返回字符集编码差)
前==后,返回0
前<后,返回负值(不同长度返回长度差,相同长度返回字符集编码差)

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1="我爱你中国";
        String s2="我爱你中国";
        String s3="我爱你";
        String s4="我爱你中国我爱你中国";
        String s5="我爱你中华";
        System.out.println(s1.compareTo(s2));
        System.out.println(s1.compareTo(s3));
        System.out.println(s1.compareTo(s4));
        System.out.println(s1.compareTo(s5));
    }
}
package string;

public class Stringtest {
    public static void main(String args[]){
        String s1="xyz";
        String s2="yxz";
        System.out.println(s1.compareTo(s2));
    }
}

输出-1,因为方法只比第一个字母,后面不比了。
▼字符串比较只能用compareTo()方法。

(5)String.contains()方法

判断字符串中是否包含指定子字符串,返回布尔值。

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1="我爱你中国";
        String s2="中国";
        System.out.println(s1.contains(s2));
    }
}

输出true

(6)String.endsWith()方法

判断字符串是否以指定子字符串结尾,返回布尔值。

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1="Test.class";
        String s2=".class";
        System.out.println(s1.endsWith(s2));
    }
}

输出true,这在批量处理文件中常用。

拓展:String.startsWith()方法
判断字符串是否以指定子字符串开头,返回布尔值。

(7)String.isEmpty()方法

判断字符串是否为空,返回布尔值。

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1="";
        System.out.println(s1.isEmpty());
    }
}

输出为true,该方法底层调用String.length。

3.字符串与字符 (1)String.toCharArray()方法

可以将字符串转为一个字符数组,方便对每个字符进行操作

package string;
import java.nio.charset.StandardCharsets;

public class Stringtest {
    public static void main(String args[]){
        String s1="ABCDE";
        char[] chars=s1.toCharArray();
        for(char i:chars) {
            System.out.println(i);
        }
    }
}

拓展1:String.getChars()方法
可以将字符串中子字符串转为一个字符数组,需要指定数组,起始下标,终点下标(左闭右开),以及数组开始存放单元的下标。

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1="中国人民从此站起来了";
        char[] arr=new char[7];
        s1.getChars(2,9,arr,0);
        for(char i:arr){
            System.out.println(i);
        }
    }
}

拓展2:String.getBytes()方法
将字符串转换为byte数组

package string;
import java.nio.charset.StandardCharsets;

public class Stringtest {
    public static void main(String args[]){
        String s1="ABCDE";
        byte[] bytes=s1.getBytes(StandardCharsets.UTF_8);
        for(byte i:bytes) {
            System.out.println(i);
        }
    }
}
(2)String.indexOf()方法

查看目标子字符串在字符串中的第一次出现的索引。

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1="pythonc++javac";
        System.out.println(s1.indexOf('a'));
    }
}

输出10
拓展:String.lastIndexOf()
查看目标子字符串在字符串中的最后一次出现的索引。

(3)String.replace()方法

用于替换字符串中的目标字符。

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1="https://www.baidu.com";
        String s2=s1.replace("baidu","google");
        System.out.println(s2);
    }
}

输出https://www.google.com

(3)String.spilt()方法

根据指定字符切分字符串。

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1="2020-10-01";
        String[] strings=s1.split("-");
        for(String i:strings)
        System.out.println(i);
    }
}
(4)String.substring()方法

截取字符串,需要指定开始下标,终点下标。

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1="2020-10-01";
        String s2=s1.substring(3,8);
        System.out.println(s2);
    }
}

输出0-10-。

(5)String.toLowerCase()方法

将字符串中的字符全传换小写

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1="Mike";
        String s2=s1.toLowerCase();
        System.out.println(s2);
    }
}

输出为mike

拓展:String.toUpperCase()
将字符串中的字符全传换大写

(6)String.trim()方法

去除字符串的前后空白,中间的空白并不去除

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1="       Mike    Amy     John         ";
        System.out.println(s1.trim());
    }
}

输出Mike Amy John,在网站登录开发中常用。

4.字符串与基本数据类型转换 (1)String.valueOf()方法

基本数据类型转换成字符串,这个属于静态方法。

package string;

public class Stringtest {
    public static void main(String args[]){
        String s1=String.valueOf(true);
        String s2=String.valueOf(13);
        System.out.println(s1);
        System.out.println(s2);
    }
}

输出"true",“13”,该方法底层调用重写后的obj.toString。
实际上System.out.println()方法都是将对象转换为obj.toString方法再输出。

二、Date类 1.构造方法

获取系统当前时间,可以达到毫秒级别。

package date;
import java.util.Date;

public class DateTest {
    public static void main(String args[]) {
        Date date = new Date();
        System.out.println(date);
    }
}

输出是一个日期字符串

2.SimpleDateFormat

日期格式化类,使用时需要指定日期格式

package date;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {
    public static void main(String args[]) {
        Date date = new Date();
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        //格式化后的日期字符串
        String nowTime=sdf.format(date);
        System.out.println(nowTime);
    }
}

输出为2021-12-24 21:21:05 980

3.String.format()方法
package date;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {
    public static void main(String args[]) {
        Date date = new Date();
        String nowTime=String.format("%tY年%tm月%td日",date,date,date);
        System.out.println(nowTime);
    }
}

输出2021年12月24日

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/677409.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号