Object
类 Object
是类层次结构的根类。每个类都使用 Object
作为超类。所有对象(包括数组)都实现这个类的方法。
==和equals()
==:基本数据类型, 比较数值的大小
引用数据类型 比较引用的地址
equals 默认 比较两个对象的地址, 如果要 比较两个对象的内容需重写方法
Object
类的 toString
方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@
”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
java 万事万物皆对象
包装类
将基本数据类型 (变量)包装改为对象
int------integer 手动装箱 Integer.inValue()
integer----》 int 手动拆箱 Integer.valueOf()
Integer(int value)-
根据参数指定的整数来构造对象
Integer (String s)
根据参数指定的字符串来构造对象
int intValue ()
获取调用对象中的整数值并返回
static Integer valueOf(int i)-
根据参数指定整数值得到Integer类型对象
static int parseInt(String s)
将字符串类型转换为int类型并返回
数学处理类
double float 会出现误差
BigDecimal 小数的精确运算
2)常用的万法
BigDecimal (String val)
一
根据参数指定的字符串来构造对象
BigDecimal add (BigDecimal add)-
用于实现加法运算
BigDecimal subtract (BigDecimal sub) -
用于实现减法运算
BigDecimal multiply (BigDecimal mul) -
用于实现乘法运算
BigDecimal divide (BigDecimal div)
用于实现除法运算
static int ROUND HALF UP
向最接近的数字舍入,"四舍五入”;
常量池(原理)
String strl = "abc";
+
String str2 一"123";
//比较strl -- str2
String str3 = "abe";
//比较str1 == str3
由于str n类型描述的字符串内容是个常量不可改变,因此Java虚拟机将首次出现的字符串放入常量中,若后续代码中出
现了相同的字符串内容则直接使用池中已有的字符串对象而无需申请内存以及创建对象,从而提高了性能。
常用的方法(练熟)
String()
使用无参方式构造对象得到空字符序列
Str ing (byte-bytes, int offset, int length)-
使用bytes数组中下标从offset位置开始的length个
字节来构造对象
String (byte[] bytes)
使用bytes数组中的所有内容构造对象
String (String str)-根据参数指定的字符串内容来构造对象, 新创建对象为参数对象的副本。
char charAt (int index)
方法charAt用于返回字符串指定位置的字符。index表示指定的位置
int length()
返回字符串字符序列的长度
boolean contanins (Charsequence s)-
用于判断当前字符串是否包含参数指定的内容
String toLowerCase()-
返回字符串的小写形式
String toUpperCase ()
返回字符串的大写形式
String trim()
返回去掉前导和后继空白的字符串
boolean startswith(String prefix)
判断字符串是否以参数字符串开头
boolean endsWith (String suffix)-
判断字符串是否以参数字符串结尾
StringBuilder类和StringBuffer类(重点)
基本概念
由于String类描述的字符串内容是个常量,不可改变,当需要在Java代码中描述大量类似的字符串时, 只能单独
申请和存储,此时会造成内存空间的浪费。
为了解决上述问题,可以使用java.lang.StringBuilder类 和StringBuffer类来描述字符序列可以改变的字符串,
如: "ab", "abc", "abcd"。
其中StrlIngBuffer类是从jdk1.0开始存在,属于线程安全的类,因此效率比较低;
其中StringBuilder类是从jdk1.5开始存在,属于非线程安全的类,因此效率比较高;
StringBuilder类
StringBuilder()一构造一 个不带任何字符的字符串生成器,初始容量为16个字符
StringBuilder (String str)-构造一 个字符串生成器, 并初始化为指定的字符串内容
int capacity()
返回当前容量
int length()-
返回长度(字符数)
StringBuilder insert(int offset,String str)
插入字符串
StringBuilder append (String str) -
追加字符串
StringBuilder delete(int start, int end)
删除字符串,前闭后开区间
StringBuilder replace (int start, int end, String str) -
替换字符事
StringBuilder reverse (
字符串反转
int indexOf (String str)
一
查找字符事出现的位置
StringBuffer
类
上同