实用类介绍(二)

Java中的String类的length()方法可以用来获取一个字符串的长度,即该字符串中包含的字符数。这个方法返回一个int类型的值,表示字符串中包含的字符数。
String类提供了equals方法,比较存储在两个字符串对象的内容是否一致。

  1. equals()方法区分大小写,如果需要忽略大小写进行比较,可以使用 equalsIgnoreCase() 方法。
  2. 在比较字符串时,如果其中一个字符串为 null,则调用 equals() 方法会抛出 NullPointerException 异常,为了避免这种情况,我们可以先判断字符串是否为 null 再进行比较,或者使用 Objects.equals() 方法进行比较,它会自动处理 null 值的情况。

总之,equals() 方法是 String 类中非常常用的方法之一,可以帮助我们判断两个字符串是否包含相同的内容,需要注意比较时区分大小写,并注意处理 null 值的情况。
“==”和equals()有什么区别呢?

“==”是一个运算符,用于比较两个变量的值是否相等,而equals()是一个方法,用于比较两个对象是否相等。它们的区别在于比较的对象和比较方式不同。

当使用“==”运算符比较两个变量时,它会比较它们在内存中存储的值是否相等。如果两个变量指向同一个对象,它们的值就相等,反之则不相等。

而当使用equals()方法比较两个对象时,它会比较它们的内容是否相等。因为Java中的对象通常是动态分配的,它们的内存地址是不同的,因此使用“==”比较它们的内容并没有意义。因此,equals()方法被用来比较对象的内容是否相等,即两个对象是否代表同一个实体。

需要注意的是,如果没有在自定义类中覆盖equals()方法,则默认使用Object类的equals()方法进行比较,这种比较仅仅是比较对象的引用是否相等,而不是对象的内容。因此,在自定义类中,如果需要比较对象的内容是否相等,就需要覆盖equals()方法,以实现自定义的比较方式。

当我们使用"=="运算符比较两个引用类型的变量时,实际上比较的是它们引用的对象的内存地址是否相同,而不是对象本身的内容是否相同。如果两个引用类型的变量引用的是同一个对象,那么它们的地址就相同,"=="运算符返回true;否则,它们的地址不同,"=="运算符返回false。
1.在Java中==是用来比较两个对象的内存地址是否相同的,如果是基本类型的话将会比较其值。
2.equals()我们如果使用的是没有重新的方法的话是==是一样的,但是很多时候我们使用的都是重写了的方法。
equals()在Object类中,其源码如下,可以看出是就是使用了==
public boolean equals(Object object){
return (this ==object );
}
字符串连接
方法1:使用"+"
方法2:使用String类的concat()方法
字符串常用提取方法:
public int indexOf(String value): 搜索第一个出现的字符串value,如果没有找到,返回-1
public int lastIndexOf(String value):搜索最后一个出现的字符串value,如果没有找到,返回-1
public String substring(int index): 提取从位置索引开始的字符串部分
public String substring(int beginindex, int endindex): 提取beginindex和endindex之间的字符串部分
public String trim(): 返回一个前后不含任何空格的调用字符串的副本
index = str.indexOf(target, index + target.length())
indexOf()方法可以接收两个参数,第一个参数是要查找的子字符串,第二个参数是从哪个位置开始查找。
字符串拆分方法:split(参数)
StringBuffer类:
对字符串频繁修改(如字符串连接时),使用StringBuffer类可以大大提高程序执行效率
StringBuffer声明:
StringBuffer s = new StringBuffer();
StringBuffer s = new StringBuffer("aaa");
StringBuffer的使用:
s.toString();        //转化为String类型
s.append("**");      //追加字符串
s.insert(1,"**");      //插入字符串
StringBuffer类和String类的区别:
String是不可变对象,经常改变内容的字符串最好不要使用String。
StringBuffer是可变的字符串,经常改变内容的情况使用StringBuffer更高效。
操作日期时间:如何获取当前日期,java.util.Date类:表示日期和时间
如何格式化日期:java.text.SimpleDateFormat类,用于定制日期和时间的格式
//创建日期对象
Date date = new Date();
//定制日期格式
SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String now = formater.format(date);
System.out.println(now);
Calendar类
抽象类,java.util.Calendar
用于设置和获取日期/时间数据的特定部分
Calendar类提供一些方法和静态字段来操作日历
int get(int field): 返回给定日历字段的值
Month:指示月(最终值需要加1得到对应月份)
DAY_OF_MONTH:指示一个月中的某天
DAY_OF_WEEK: 指示一个星期中的某天(礼拜天算第一天)






        

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值