哪个方法,什么方法,功能,入参,出参,方法名
1.String
java.long.String是字符串类,底层就是一个字符串组,继承数组的特性
1.创建后不能更改
2.字符串需要双引号" "表示
3.为提高访问效率,提出了一个缓存机制,字符串常量池
基本使用
不要频繁拼接:字符串String一旦创建,字符串对象不可更改,尽量不要使用String进行大量的字符串拼接操作
构造方法
常用方法
String s1 = "qwert!";
1.char charAt(int index): 获取某个位置上的字符
S1.charAt(2);
2.boolean starsWith(String prefix): 是否以指定字符开始
"hello.java".starsWith("he");
"hello.java".endsWith("he"); 结尾(注意空格也算一个字符)
3.boolean equals(Object obj): 比较两个字符是否相等
"abc".equals("Abc"); 区分大小写
"abc".equalsignoreCase("Abc"); 不区分大小写
4.byte[] getBytes(): 把字符串转换为字节数组
byte[] bytes = "abc".getBytes();
5.char[] toCharArray(): 字符串转化为字符数组
char[] chars = "abc".toCharArray();
字节串数组传唤字符串:new String(bytes,起始值,个数);
字符串转字节数组:getBytes();
字符数组转字符串:new String(chars,起始值,个数);
字符串转字符数组: toCharArray();
6.int indexOf(String str): 获取字符串中,指定字符串的起始索引,找不到就返回-1
"abcdefgh".indexOf("bc");
7.int lastIndexOf(String str): 获取字符串中指定字符串最后一次出现的索引,找不到就返回-1
"abcdefgh".lastindexOf("bc");
8.int length(): 返回数组长度
"abcd".length();
9.String replaceAll(String regex,String replacement):把指定字符串用某个字符串替换(replace和replaceAll几乎一样,前者不支持正则表达式)
在正则表达式中 可以匹配任意字符,所以把所有字符都替换为1
"abc.dae".replaceAll(".", "1"); 结果为1111111
不识别正则表达式的话,"."就是".",结果为abc1dae
10.String[] split(String regex); 分割字符串,需要之地ing的分隔符,返回字符串数组,支持正则表达式
String myTime = "2021.07.13";
String[] time = myTime.split(","); 以逗号分隔返回字符喜欢数组
11.String substring(int beginIndex): 获取该字符串以某个下标起始的字符串(包含)
"abcdefg".substring(3); 结果是defg
12. String substring(int beginIndex, int endIndex) :获取该字符串以某个下标开始(包含)
到指定位置结束(不包含),左闭右开
"abcdefg".substring(3,5); 结果是de
13.String trim():去除字符串两边的空格
" a b ".trim(); 结果是a b,中间的空格算有效字符保留下来
14.大写转小写"asdADnca".toLowerCase(); 结果asdadnca
小写转大写"asdADnca".toUpperCase(); 结果ASDADNCA
15.static String valueOf(Object obj):调用指定对象的toString方法,并且使用三目运算符屏蔽了空指针异常
String.valueOf(obj);
输出一个引用类型的时候会自动调用这个兑现大哥toString方法
Object obj = null; 输出不会出现空指针异常
注意
这是class反编译
StringBuffer和StringBuilder
是一个可变的字符缓冲区,适合做拼接操作底层也是char数组,只不过默认长度是16,而字符串内容多少长度就是多少
原理:先定义好长度,不够会自动扩容,默认为16,快打为(当前容量+1)*2
区别
StringBuffer:非线程安全,多线程下可能会出现问题,常用于方法中
StringBuilder:线程安全,多线程下不会出现问题,常用于类中
尾部添加数据
sb.append();
反转
sb.reverse();
指定位置添加:
sb.insert(index,"");
个数即长度
容量
sb.capacity();
包装类
封装了基本数据类型的一些操作,更加方便使用(java中有8中基本数据类型)
使用
Integer
常用方法
类型转换
装箱跟拆箱
java1.5开始,引入了自动装箱(把基本类型自动转换为对应的封装类型)和自动拆箱(把把包装类型自动转换为对应的基本类型),装箱和拆箱是在编译阶段完成的
class反编译
整型常量池
System
System 类提供的public static long currentTimeMills()用来返回当前时间与1970年1月1日0时0分0秒之间一毫秒为单位的时间差.(用于计算时间差)
native long currentTimeMillis():该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。
System类代表系统,系统级的很多属性和控制方法都放置在该类的内部 该类位于java.lang包。
由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便 的进行调用。
System类内部包含in、out和err三个成员变量,分别代表标准输入流(键盘输入),标准输出流(显示器)和标准错误输出流(显示器)。
void exit(int status):该方法的作用是退出程序。其中status的值为0代表正常退出,非零代表异常退出。使用该方法可以在图形界面编程中实现程序的退出功能等。
Date:
时间类,1970.1.1 8:00:00
构造方法
时间格式化
new SimpleDateFormat(时间格式):创建格式化对并指定格式
public String format(Date date):吧置顶时间按照固定格式进行转换,并返回该时间格式的字符串
public Date parse(String strTime):把时间格式的字符串,按照对应的格式转换为Date对象
日历