Object类
概念:类层次结构最顶层的基类,所有类都直接或间接的继承自Object类,所以所有的类都是一个Object(对象)。
构造方法Object():构造一个对象。所有子类对象初始化时都会优先调用该方法。
主要成员方法:
int hashCode()
返回对象的哈希马值,该方法通过对象的地址值进行计算,不同对象的返回值一般不同
Class<?> getClass()<br /> 返回调用此方法对象的运行时类对象(调用者的字节码文件对象)
String toString() //如String a = b.toString();<br /> 返回该对象的字符串表示,默认打印的是地址值<br /> //地址值的组成:全类名@该对象的哈希码的无符号十六进制形式
boolean equals() //boolean b1 = a1.equals(a2);<br /> 返回其他某个对象是否与此对象“相等”,一般比较的是地址值。默认情况下比较两个对象的引用,建议重写.
JavaBean
开发中通常需要将对象转成字符串形式进行传输,也需要对即将使用的对象进行相等判断。定义标准JavaBean类重写toString和equals方法。
Scanner类
构造方法:Scanner(InputStream):构造一个扫描器对象,从指定输入流中获取数据,参数System.in,对应键盘录入
成员方法:
1)hasnextXxx():判断是否还有下一个输入项,其中Xxx可能是任意数据类型,返回结果是布尔类型
2)nextXxx():获取下一个输入项,其中Xxx可能是任意数据类型,返回对应类型的数据
3)String nextLine():获取下一行数据。以换行符作为分隔符
4)String next():获取下一个输入项,以空白字符作为分隔符,空白字符:空格,tab,回车等。
注意:
电脑中的文件都是不能被修改的东西,我们的修改是在内存中存在,保存时是将原来的文件删除,创建一个被修改过的文件。字符串也是这样,一旦创建就不好修改。
String类
字符串。每一个字符串对象都是常量。
构造方法:
String(byte[]):构造一个String对象,将指定字节数组中的数据转化成字符串
String(char[]) :构造一个String对象,将指定字符数组中的数据转化成字符串
成员方法
boolean equalsIgnoreCase(String) :判断当前字符串与给定字符串是否相同,不区分大小写
boolean startsWith(String) :判断是否以给定字符串开头
boolean isEmpty() :判断字符串是否为空
contains()方法
contains()方法检查字符串是否包含字符序列。
如果字符存在则返回true,否则返回false。
String myStr = "Hello";
System.out.println(myStr.contains("Hel")); // true
System.out.println(myStr.contains("e")); // true
System.out.println(myStr.contains("Hi")); // false
Java Spring equals()方法
equals()方法比较两个字符串,如果字符串相等则返回true,否则返回false。
String myStr1 = "Hello";
String myStr2 = "Hello";
String myStr3 = "Another String";
System.out.println(myStr1.equals(myStr2)); // 相等则返回true
System.out.println(myStr1.equals(myStr3)); // false
Java String substring() 方法
定义:返回一个新的字符串,它是当前字符串的一个子字符串。
调用语法:
参数说明:
beginIndex | 起始索引(包括), 索引从 0 开始。 |
---|---|
endIndex | 结束索引(不包括) |
返回值:
返回一个新的字符序列,它是此序列的一个子序列。
public class Test {
public static void main(String args[]) {
String Str = new String("www.cjavapy.com");
System.out.print("返回值 :" );
System.out.println(Str.substring(4) );
System.out.print("返回值 :" );
System.out.println(Str.substring(4, 11) );
}
}
1
获取方法
int length() :获取当前字符串的长度
char charAt(int index) :获取指定索引位置的字符
int indexOf(String) :获取指定字符(串)第一次出现的索引
int lastIndexOf(String) :获取指定字符(串)后一次出现的索引
String substring(int) :获取指定索引位置(含)之后的字符串
String substring(int, int) :获取从索引start位置(含)起至索引end位置(不含)的字符串
转换方法
byte[] getBytes() :将字符串转换成字节数组
char[] toCharArray() :将字符串转换成字符数组
static String valueOf(..) :将指定类型数据转换成字符串<br /> String s1 = String.valueOf(123); <br /> String s2 = "" + 123; 这种方法比较常用 <br /> <br /> String replace(old, new) :将指定字符(串)替换成新的字符(串)
String[] split(String) :切割字符串,返回切割后的字符串数据,原字符串不变
String trim() :去掉字符串两端的空白字符
StringBuilder和StringBuffer类
可变字符序列,用于构造字符串对象。内部使用自动扩容的数组操作字符串数据。
StringBuilder 和 StringBuffer 使用相同的API(Java帮助文档)。
StringBuffer和StringBuilder的区别
相同之处,这两类都是可变长的字符串存储类,都实现了CharSequence接口
- 类型不同,因为不是一个类,也没有继承关系,做参数时不能共用
- StringBuffer为线程安全类,StringBuilder为线程非安全类
- StringBuffer性能低,StringBuilder性能高,如果在局部优先使用StringBuilder
- JDK在1.5之前,字符串相加使用StringBuffer对象,在1.5之后使用StringBuilder对象
构造方法
StringBuffer
//1.StringBuffer()
//构造一个没有字符的字符串缓冲区,初始容量为16个字符。
StringBuffer stringBuffer01 = new StringBuffer();
//2.StringBuffer(int capacity)
//构造一个没有字符的字符串缓冲区和指定的初始容量。
StringBuffer stringBuffer02 = new StringBuffer(100);
//3.StringBuffer(String str)
//构造一个初始化为指定字符串内容的字符串缓冲区。容量在此基础上加16。
StringBuffer stringBuffer03 = new StringBuffer("hello,world");
StringBuilder
//1.StringBuilder()
//构造一个没有字符的字符串构建器,初始容量为16个字符。
StringBuilder stringBuilder01 = new StringBuilder();
//2.StringBuilder(int capacity)
//构造一个没有字符的字符串构建器,由 capacity参数指定的初始容量。
StringBuilder stringBuilder02 = new StringBuilder(100);
//3.StringBuilder(String str)
//构造一个初始化为指定字符串内容的字符串构建器。容量在此基础上加16。
StringBuilder stringBuilder03= new StringBuilder("hello,world");
成员方法
StringBuilder() :构造一个空的 StringBuilder 容器
StringBuilder(String) :构造一个 StringBuilder 容器,并添加指定字符串
StringBuilder append(..) :将任意数据添加到 StringBuilder 容器中
String toString() :将当前 StringBuilder 容器转成字符串
Date和Calendar类
日期和日历类,用于操作日期相关信息。
构造方法
Date() :构造一个日期对象,当前系统时间,精确到毫秒
Date(long) :构造一个日期对象,时间为自”1970年1月1日00:00:00 GMT”起,至指定参数的毫秒数
成员方法
long getTime() :将日期对象转换成对应时间的毫秒值
static Calendar getInstance() :根据当前系统时区和语言环境获取日历对象
int get(int field) :返回给定日历字段的值
void set(int field, int value) :将给定的日历字段设置为指定的值
基本类型的包装类
基本数据类型不是对象,所以Java针对基本类型提供了对应的包装类,以对象的形式来使用。
装箱:基本类型转包装类型(对象类型)
拆箱:包装类型(对象类型)转基本类型
成员方法:static 基本类型 parseXxx(String) : 将字符串类型的数据转换成对应的基本类型
package cn.iproute.demo1;
public class Test {
public static void main(String[] args) {
int a = 10;
//装箱,将基本数据类型变为引用数据类型
Integer i1 = new Integer(a);
//拆箱,将引用数据类型变为基本数据类型
int b = i1.intValue();
//JDK5以后可以自动拆装箱
Integer i2 = 30; //装箱
int c = i2; //拆箱
String s1 = "100";
int num = Integer.parseInt(s1); //将字符串转换为整数型
System.out.println(num+100);
}
}