常用类—Object,String,date
Published on 2022-10-11 10:30 in 分类: 常用类 with 花海~
分类: 常用类

常用类—Object,String,date

一、Object类

Object是默认所有类的父类,很多时候类都有一些相同的需求,比如获取内存地址,判断是多例还是多例。
Object常用方法——toString()和equals()

1、toString方法

toString方法就是返回输出相应的内存地址,如下

Object object=new Object();
String string=object.toString();
System.out.println(string);
输出如:会是地址
java.lang.Object@29f69090

2、equals方法

默认情况下,==和equals都是比较内存地址的,例如下
Student s1=new Student();
Student s2=new Student();
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
结果为:false,false
如果是String,Integer等重写了equals方法,则是去比较内容。比较内容就是使用equals,String重写了equals所以比较的是内容
String str="abc";
String str2=new String("abc");
System.out.println(str==str2);
System.out.println(str.equals(str2));
结果为:false,true

二、String类和StringBuilder类

1.String(常用 append,delete,indexOf,spilt [append,delete,indexOf是StringBuffer的,String是indexOf和spilt])

String string = new String();
String str2="abc";
str2=str2+"123";
System.out.println(str2);
这时候会创建三个对象它改了之后就是又创建了个新的,少量的修改可以用String,大量的话会有垃圾存留,会占用内存,所以繁琐的修改使用StringBuffer和StringBuilder
图如下:
 

2.StringBuffer—append方法

StringBuffer sb = new StringBuffer("abc");
//append方法
sb.append("123");
System.out.println(sb);
//输出abc123
这样的话就是在原来的基础上去修改就不会产生不必要的垃圾

3.StringBuffer—reverse方法

StringBuffer sb = new StringBuffer("abc");
//reverse方法
sb.reverse();
System.out.println(sb);
//输出cba

4.StringBuffer—delete方法(左闭右开)

StringBuffer sb = new StringBuffer("abc");
StringBuffer append = sb.append("123");
StringBuffer reverse = sb.reverse();
reverse.delete(2, 4);
System.out.println(reverse);
//输出32ba

5.StringBuffer—replace方法

复制代码
StringBuffer sb = new StringBuffer("abc");
StringBuffer append = sb.append("123");
StringBuffer reverse = sb.reverse();
//reverse.delete(2, 4);
reverse.replace(2, 4, "hello");
System.out.println(reverse);
//输出32helloba
复制代码

6.String—split方法,trim方法

复制代码
String https="https:\r\n //www.yiyyy:.com/ \r\n essay/post-3003888.html";
String[] split = https.split("\r\n");
for (int i=0;i<=split.length-2;i++) {
    String string = split[i];
    if(string.contains(":")) {
        //说明是请求头
        String[] split2 = string.split(":");
        System.out.println(split2[0].trim());
    }
}
//输出 
//https 
//www.yiyyy
复制代码

7.String—charAt方法

复制代码
//常量池
String s1="hello";
//堆内存,charAt方法
String s2=new String("world");
char charAt = s1.charAt(0);
System.out.println(charAt);
//输出h
复制代码

8.String—compareTo方法,concat方法,contains方法

复制代码
//compareTo  字典顺序相加减
String abc="a";
String a1=new String("A");
int compareTo = abc.compareTo(a1);
System.out.println(compareTo);
//compareTo 多个
String a="cba";
String b=new String("cdb");
int compareTo2 = a.compareTo(b);
System.out.println(compareTo2);
//concat 字符串叠加
String concat = a.concat(b);
System.out.println(concat);
//conrains 查询a字符串是否包含“b”
boolean contains = a.contains("b");
System.out.println(contains);
//输出 以下
//32 字典顺序相减(a和A相差32)
// -2 多个的时候从左到右只输出第一个相减的内容 
//cbacdb 字符串叠加 cba+cdb
//true 包含返回true否则返回false
复制代码

9.String—endsWith方法

复制代码
//endWith方法
String abc="hzj.jpg";
boolean endsWith = abc.endsWith(".jpg");
System.out.println(endsWith);
//getBytes方法
String b=new String("abc");
byte[] bytes = b.getBytes();
for (byte c : bytes) {
System.out.println(c);
}
//输出 true和97 98 99(会将字符转换为ASSIC码输出)
复制代码

10.String—toLowerCase方法和toUpperCase方法

复制代码
//大写转小写
String a="HZJ";
String lowerCase = a.toLowerCase();
System.out.println(lowerCase);
//小写转大写
String b="djm";
String upperCase = b.toUpperCase();
System.out.println(upperCase);
//输出hzj  DJM
复制代码

11.String—toCharArray方法

//字符串转化为数组
String c="HZJDJM";
char[] charArray = c.toCharArray();
for (char d : charArray) {
    System.out.println(d);
}

12.StringBuilder—getChars方法

StringBuilder sb=new StringBuilder("123456");
char a[]=new char[10];
//下标从0开始5结束,拷贝到数组a中从第一个开始拷贝就是0
sb.getChars(0, 5, a, 1);
System.out.println(a);
//输出 12345
注:StringBuffer和StringBuilder之间就是StringBuilder不是线程安全,但是速度较StringBuffer快一些,所以大多数情况下会使用StringBuilder

13.String—indexOf方法

复制代码
String string="djmhzjdjmhjzdjmhzj";
//查找djm,按照数组下标方式查找,从一个开始查
int index = string.indexOf("djm",0);
int count=0;
while (index!=-1) {
    //注意如果没有查到就返回-1
    count++;
    //下次查找的时候就在上一个的基础上进行查找所以加上它自身的长度
    index=string.indexOf("djm",index+3);
}
    System.out.println(count);   
  //输出 3 共有3个djm字符串
复制代码

三、date类

1.util.Date

Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String format = simpleDateFormat.format(date);
System.out.println(format);
//输出当前时间 例今天:2022-10-11 10:10:03

2.sql.Date(数据库)

复制代码
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String format = simpleDateFormat.format(date);
java.sql.Date date2 = new java.sql.Date(date.getTime());
System.out.println(format);
System.out.println(date2);
//输出时间 例今天:2022-10-11
复制代码

 3.util.Date和sqlDate相互转换

复制代码
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy---mm-dd hh:mm:ss");
String format = simpleDateFormat.format(date);
//util.date转sql.date
java.sql.Date date2 = new java.sql.Date(date.getTime());
System.out.println(date2);
//sql.date转util.date
Date date3 = new Date(date2.toGMTString());
System.out.println(date3);
//输出
//2022-10-13
//Thu Oct 13 09:08:01 GMT+08:00 2022
复制代码

posted @   花海~  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示