Java——API、Object类、Scanner类、String类

简介: Java——API、Object类、Scanner类、String类

文章目录


API


API(Application Programming Interface),指的是应用程序编程接口。


Java API,就是Java提供给我们使用的类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要这些类如何使用即可。


Object类



Object,是类层次结构的根类。所有类都是直接或者间接继承该类。


构造方法:public Object()


常用的成员方法


public int hashCode():返回该对象的哈希码值


- 默认情况下,该方法会根据对象的地址来计算


- 不同对象的hashCode()一般来说不会相同。但是,同一个对象的hashCode()值肯定相同


- 不是对象的实际地址值,可以理解为逻辑地址值


public final Class getClass():返回此 Object 的运行时类


- 可以通过Class类中的一个方法,获取对象的真实类的全名称。该方法为:public String getName()


public String toString():返回该对象的字符串表示


- 它的值等于: getClass().getName() + ‘@’ + Integer.toHexString(hashCode())


- 由于默认情况下的数据对我们来说没有意义,一般建议重写该方法


- 直接输出对应的名称,就是调用对象的toString()方法


public boolean equals(Object obj):指示其他某个对象是否与此对象“相等”


- 默认情况下比较的是对象的引用是否相同


- 由于比较对象的引用没有意义,一般建议重写该方法。用于比较成员变量的值是否相等

protected Object clone() throws CloneNotSupportedException:创建并返回此对象的一个副本


- clone()的权限修饰符是受保护的,在使用的时候,要让该类重写该方法,并把该方法的权限修饰符改为public


- 使用clone()方法,默认采用的是浅克隆的方式(浅克隆指的是克隆一个对象的时候,如果被克隆的对象中维护了另外一个类的对象,这时候只是克隆另外一个对象的地址,而没有把另外一个对象也克隆一份。另外,对象的浅克隆不会调用构造方法)


- 深克隆采用IO流来实现。使用 ObjectOutputStream 将对象写入文件中,然后再用ObjectInputStream读取回来


Scanner类


Scanner,JDK5以后用于获取用户的键盘输入。


构造方法:Scanner(InputStream source):方法里的参数一般是System类下的静态字段public static final InputStream in,这是标准的输入流,对应着键盘录入。


常用的成员方法


hasNextXxx():判断下一个是否是某种类型的元素


- 其中,Xxx可以是Int,Double等


- 如果需要判断是否包含下一个字符串,则可以省略Xxx

nextXxx():获取下一个输入项


- Xxx的含义和上个方法中的Xxx相同


String类



String,由多个字符组成的字符序列。


特点


字符串字面值"abc"也可以看成是一个字符串对象


字符串是常量,一旦被创建,就不能被改变


构造方法


public String():空构造


public String(byte[] bytes):把字节数组转成字符串


public String(byte[] bytes,int index,int length):把字节数组的一部分转成字符串


(index:表示的是从第几个索引开始, length表示的是长度)


public String(char[] value):把字符数组转成字符串


public String(char[] value,int index,int count):把字符数组的一部分转成字符串


public String(String original):把字符串常量值转成字符串


常用的成员方法


判断功能


public boolean equals(Object obj):比较字符串的内容是否相同,区分大小写


public boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写


public boolean contains(String str):判断字符串中是否包含传递进来的字符串


public boolean startsWith(String str):判断字符串是否以传递进来的字符串开头


public boolean endsWith(String str):判断字符串是否以传递进来的字符串结尾


public boolean isEmpty():判断字符串的内容是否为空串""


public boolean equals(Object obj):比较字符串的内容是否相同,区分大小写


获取功能


public int length():获取字符串的长度


public char charAt(int index):获取指定索引位置的字符


public int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引


public int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引


public int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引


public int indexOf(String str,int fromIndex):返回指定字符串在此字符串中从指定位置后第一次出现处的索引


public String substring(int start):从指定位置开始截取字符串,默认到末尾


public String substring(int start,int end):从指定位置开始到指定位置结束截取字符串


转换功能


public byte[] getBytes():把字符串转换为字节数组


public char[] toCharArray():把字符串转换为字符数组


public static String valueOf(char[] chs):把字符数组转成字符串


public static String valueOf(int i):把int类型的数据转成字符串(int类型以外的其他类型也可以转换成字符串)


public String toLowerCase():把字符串转成小写


public String toUpperCase():把字符串转成大写


public String concat(String str):把字符串拼接


替换功能


public String replace(char old,char new):将指定字符进行互换


public String replace(String old,String new):将指定字符串进行互换


整理功能


public String trim():去除两端空格


比较功能


public int compareTo(String str):会对照ASCII 码表,从第一个字母进行减法运算,返回的就是这个减法的结果


- 如果前面几个字母一样会根据两个字符串的长度进行减法运算返回的就是这个减法的结果


- 如果连个字符串一摸一样 返回的就是0


public int compareToIgnoreCase(String str):跟上面一样,只是忽略大小写的比较

20190907205952533.png


目录
相关文章
|
24天前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
76 4
|
29天前
|
IDE JavaScript Java
在Java 11中,如何处理被弃用的类或接口?
在Java 11中,如何处理被弃用的类或接口?
128 5
|
1月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
105 1
|
1月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
165 1
|
8月前
|
安全 IDE Java
重学Java基础篇—Java Object类常用方法深度解析
Java中,Object类作为所有类的超类,提供了多个核心方法以支持对象的基本行为。其中,`toString()`用于对象的字符串表示,重写时应包含关键信息;`equals()`与`hashCode()`需成对重写,确保对象等价判断的一致性;`getClass()`用于运行时类型识别;`clone()`实现对象复制,需区分浅拷贝与深拷贝;`wait()/notify()`支持线程协作。此外,`finalize()`已过时,建议使用更安全的资源管理方式。合理运用这些方法,并遵循最佳实践,可提升代码质量与健壮性。
231 1
|
8月前
|
Java
课时78:Object类的基本概念
Object类的主要特点是可以解决参数的统一问题,使用object类可以接受所有的数据类型。 1. Object类简介 2. 观察Object类接收所有子类对象 3. 使用Object类接收数组
163 0
|
11月前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
138 8
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
453 4
|
Java
Java Object 类详解
在 Java 中,`Object` 类是所有类的根类,每个 Java 类都直接或间接继承自 `Object`。作为所有类的超类,`Object` 定义了若干基本方法,如 `equals`、`hashCode`、`toString` 等,这些方法在所有对象中均可使用。通过重写这些方法,可以实现基于内容的比较、生成有意义的字符串表示以及确保哈希码的一致性。此外,`Object` 还提供了 `clone`、`getClass`、`notify`、`notifyAll` 和 `wait` 等方法,支持对象克隆、反射机制及线程同步。理解和重写这些方法有助于提升 Java 代码的可读性和可维护性。
404 20
【Java基础面试二十】、介绍一下Object类中的方法
这篇文章介绍了Java中Object类的常用方法,包括`getClass()`、`equals()`、`hashCode()`、`toString()`、`wait()`、`notify()`、`notifyAll()`和`clone()`,并提到了不推荐使用的`finalize()`方法。
【Java基础面试二十】、介绍一下Object类中的方法