day12 object类,String类

object类

1.1概述

java.lang.object 类是java语言的根类,每个类都是用object作为超类。所有对象(包括数组)都实现了这个类的方法。
如果一个类没有继承任何类,那么默认继承object类
1.2native本地方法
在Object类的源码中定义了native修饰的方法,native修饰的方法称为本地方法。
特点:
本地方法运行时jvm会单独开线程运行本地方法,本地方法进入本地方法栈中运行(是由c++编写),意义是和操作系统进行交互
1.3 toString()方法
Object类toString()方法源码:

public String toString() {
	return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

getclass().getName+“@”+ Integer. toHexString(hashcode())
类 的名字 + @+ 整形 转16进制(十进制的地址值)

在直接打印引用类型的名字是会自动使用toString()方法如果想直接使用数据可以重写toString使其直接打印存储的值并非地址值
ArrayList已经重写了toString

必须要有空参构造,负责继承报错
字符串的hashcode进行了重写比较的是转换的数字,
注意
两字符的hashcode相同,不一定相同,有特殊情况(重地==通话)需要再次比较equals

equals方法

`public boolean equals(Object obj)`

object类equals()源码

public boolean equals(Object obj) {
    return (this == obj);
}

this:当前对象
obj:传递的参数
this==obj比较地址值是否相同相同返回true

String

1.String s=new String();在堆中
2.String s=" ";在方法区中
1和2并不一样无法比较

String s="";
String s1="abc";
s+="abc";
System.out.println(s==s1)

底层对+=进行优化得到一个新对象并不一样了

字符串转字符数组
char[] a={'a','b','c'};
String  s=new String(a);
String  s2=new String(a,0开始,2结束);
字符串转字符数组:
String s1="helloword";
cha[] a=s1.tocharArray()
字符串转字节数组
Byte[] b=s1.getBytes();
字符第一次出现的位置:
String str="I Love Java";
int index2=Str.indexOf("查找的字符",查找开始的位置默认是从从第一个开始)
最后出现的位置
int index3=str.lastIndexof("查找的字符",开始的位置);
String s1="I Love Java";
转大写:String s2=s1.toUppercase();
转小写:s1.toLowerCase();
是否以某字符串开头: s1.startswith();
以某字符串结尾 s.endswith
去空格:trim
替换: a.replace("*""0.0")*替换为0.0

今天的学习心情:开心
明天继续努力
感觉老师讲的太快没有b站上录播课讲的好

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值