JDK API常见对象:Object类、Scanner类、String类
Android虽然我上手做有了一段时间,但基本上是遇到了难题就goole学一点怎么实现功能。很多基础的知识我没有什么概念,所以刷网课补习一下,顺手做下笔记,希望对你有帮助kkk
Object类
所有类的根类,Java中所有类都直接或间接的继承该类
Object类的int hashCode():返回对象的哈希码值
a.返回该对象的哈希码值,这个值和地址有关。
b.不同对象的,hashCode()一般来说不会相同。但是同一个对象的hashCode()值肯定相同。
c.不是对象的实际地址值,可以理解为逻辑地址值。
Object类的getClass():返回此对象运行时类
返回class类型,class是一个类,他的对象是具体的.class文件。
Object类的toString():返回该对象的字符串表示形式
返回的字符串内容:运行时类的名字[email protected]+该对象的哈希码值的十六进制。
PS:
system.out.println(s);会自动调用toString()
一般类都会重写toString()
Object类的boolean equals(Object obj):指示其他对象是否与此对象相等
重写equals方法:
equals和= =的区别:
equals方法是一个方法,只能比较引用数据类型。所有的对象都会继承Object类中的方法,如果没有重写Object类中的equals方法,equals方法和==号比较引用数据类型无区别
“= =”是一个比较运算符号,既可以比较基本数据类型,也可以比较引用数据类型。基本数据类型比较的是值,引用数据类型比较的是地址值。
Scanner类
一个简单的文本扫描器。
Scanner类的构造方法
Scanner(InputStream source)
System类下有一个静态的字段:
public static final lnputstream in是标准的键盘输入流。
所以获取键盘输入流:
Scanner sc = new Scanner(System.in);
Scanner类的hasNextXxx()方法
hasNextXxx()判断是否还有下一个输入项,其中Xxx可以是Int、Double等。
如果需要判断是否包含下一个字符串,则可以省略Xxx。
Scanner类的NextXxx()方法
nextXxx()获取下一个输入项。Xxx的含义和上个方法中的Xxx相同。
默认情况下,Scanner使用空格,回车等作为分隔符。
PS:NextLine()方法获取一整行,返回String类型,如果前面用了NextInt获取输入,回车的\r\n会被作为新行被NextLine获取。
String类
String类代表字符串,所有字符串都作为String类的一个实例。
字符串是常量不能被修改,如下图s修改后,字符串“abc”在内存中成为了垃圾(没有被修改),创建了一个新的字符串"bcd"指向s。
String类的构造方法
- public String():空构造
- public string(byte[] bytes):把字节数组转成字符串
- public String(byte[] bytes,int index,int length):把字节数组的一部分转成字符串
- public String(char[] value):把字符数组转成字符串
- public String(char[] value,int index,int count):把字符数组的一部分转成字符串(index索引、count数目)
- public String(String original):把字符串常量值转成字符串(创建一个字符串副本)
""和NULL的区别:
""是一个字符串,可以调用String中所有的方法。
NULL是空值,不能调用任何方法,调用就会出现空指针异常。
思考题:
所以上图程序运行结果为:true true
所以上图程序运行结果为:false true
所以上图程序运行结果为:true true
Java 语言提供对字符串串联符号("+”)以及将其他对象转换为字符串的特殊支持。
String类中的比较方法
- boolean equals(Object obj):比较字符串的内容是否相同,区分大小写
- boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
- boolean contains(String str):判断大字符串中是否包含小字符串
- boolean startsWith(String str):判断字符串是否以某个指定的字符串开头
- boolean endsWith(string str):判断字符串是否以某个指定的字符串结尾
- boolean isEmpty():判断字符串是否为空。
String类中的转换方法
- byte[]getBytes():把字符串转换为字节数组
- char[]tocharArray():把字符串转换为字符数组
- static string valueof(char[]chs):把字符数组转成字符串。
- static string valueof(int i):把int类型的数据转成字符串。
*注意:String类的valueof方法可以把任意类型的数据转成字符串。 - String toLowerCase():把字符串转成小写。
- string toUpperCase():把字符串转成大写。
- string concat(String str):把字符串拼接。
StringBuffer类
线程安全的可变字符序列,StringBuffer和String 的区别:StringBuffer是个可变的字符序列,String不可变。
StringBuffer
未完待续