String
在API文档的位置:java.lang.String 类
String可以创建对象
String a = new String();
String a = new String("zhangsan");
charAt 根据下标获取单个字符
subString 根据结束下标位置截取之后的字符串
indexOF 根据相应的字符(第一次出现)或者字符串查找所在的下标位置
length 获取当前的字符串的长度
a4.compareTo(a3) 按照字典比较大小
原本连接字符串时使用+,但是最后还是需要赋值才能改变字符串的原有的值
a3.concat(a4);这个只是做个简单的拼接并没有去赋值。
只能做些后期的维护工作,并不能直接改变原有的变量
对象直接不能使用==相互的比较里面的值
==用来表示的是地址
a4.equals(a3)比较两个字符串(不是对象)是否相等
提示:尽量把容易得值为Null的那个引用放在方法参数里面
这样子就可以不报NullPointException
(字符串会抛出异常)
String str1 = "hello";
String str2 = null;
System.out.println(str2.equals(str1));
对象不会抛出异常
String a = new String();
String str = new String("huang*niuniu");
System.out.println(a.equals(str));
String a5 = new String(a4.getBytes("GBK"),"utf-8");
在转化字符集的过程中经常所要用到的
a1.replace('a', 'A') 将前一个旧的字符转化成后一个新的字符
String[] split = a1.split("a");
for (int i = 0; i < split1.length; i++) {
System.out.println(split1[i]);
}
按照指定的字符或者正则表达式来分割字符串,返回一个数组
char[] charArray = a1.toCharArray();
toCharArray()方法只能字符串使用
直接将整个字符串分割成单个字符数组
String类里面的所有的方法都不能直接对里面的值来进行操作。
都是间接的。
StringBuffer
原理是将字符串值放入到缓冲区
那么字符串缓冲方法就可以直接操作里面的值
使用起来比String类方便很多,方便不用再手动赋值。
append 用来拼接字符串。
a.capacity() 用来计算缓冲区的容量(太鸡肋了)当前字符数+16;
a2.codePointAt(0)根据字符串中某个字符下标位置
来返回这个字符在Unicode码中的位置
delete 删除某一段字符
insert 插入字符
replace 按照相应的下标,开始和结束,替换某个特定的字符串
StringBuffer 安全,性能高
StringBuilder 不安全
Arrays专门针对数组来操作
copyOF 拷贝数组,从一个特定的数组中,选取特定的长度
返回新的数组
equals 比较两个数组类型和值是否相等
fill 制定特定类型的值,分给特定的数组
sort 升序排序
toString 遍历数组里面的信息
Math 针对数学算数的。
PI E 静态的常量
abs 绝对值
三角函数 都有
对数
比较大小 MAX MIN
random 随机数 直接用 0~1 之间的小数
sqrt 求平方根
Random类
next 获取下一个随机数的。 参数 0(包含) 到 给定参数(不包含)
Date
专业时间类
在我们的网络中展现的时间样式很多
2017-05-05
2017/05/05
2017:05:05
SimpleDateFormat 专门操做时间样式
源代码:
Date d = new Date();
System.out.println(d);
SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(s.format(d));
*//~
Fri May 05 11:49:19 CST 2017//原本机器Java所获取的电脑当前时间
2017-05-05 11:49:19 //修改成我们需要样式信息
parse 将特定的字符串时间信息,解析成我们的Date类型