Java中的常用类 正则表达式

Java中的常用类

Object

非常的特殊, 是所有类的父类

  • toString()
  • equals()
  • hashCode()

注意: 如果hashCode返回值不同, 那么equa返回值肯定不同, hashCode返回值相同, 需要再次判断equals返回值判断
如果equals返回值相同, hashCode返回值一定相同
其中包装类和String类等都重写了equals和hashCode方法

  • clone(), 必须实现Clonebale, 可以拿到clone体, 内容相同 内存地址不同

<<接口>>补充:

String

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

结果: true

三种比较方式


//不建议使用
System.out.println(s1 == s2);
//绝对比较比较
System.out.println(s1.equals(s2));
//忽略大小写比较
System.out.println(s1.equalsIgnoreCase(s2));

注: String(byte[] bytes)不建议使用, 它会使用平台默认的编码格式, 推荐使用String(byte[] bytes, Charset charset);


//规定三位数, 并且不足用0补足
System.out.println(String.format("第%03d条数据", i));
//有Local参数的用来区别不同国家和地区的习惯使用
System.out.println(String.format(Locale.CANADA, "第"));
//从字符串s1中找到含有'b'的所有的下标
int index = -1;
while( (index = s1.indexOf('b', index+1)) != -1 ){
    System.out.println(index);
}

StringBuilder

它是线程不安全的, 但是它有一个兄弟类StringBuffer, 是线程安全的.
使用该类完成字符串拼接时速度高, 是”+”连接符所不能及的

System.out.println(System.currentTimeMillis()-l);
l = System.currentTimeMillis();
//尽量使用StringBuilder, 效率更高, 与+根本不在一个数量级上
StringBuilder builder = new StringBuilder("a");
for (int i = 0; i < 1000; i++) {
    builder.append("a");
}
System.out.println(System.currentTimeMillis()-l);

“Java中”+”连接字符串对象时,会创建一个StringBuilder()对象并调用append()方法将数据拼接,最后调用toString()方法返回拼接好的字符串,由于append()方法的各种重载形式会调用String.valueOf方法, 这样由于大量StringBuilder创建在堆内存中,肯定会造成效率的损失,所以在这种情况下建议在循环体外创建一个StringBuilder对象调用append()方法手动拼接

正则表达式

正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。

不是一句半句讲清楚的, 看链接吧: java正则表达式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值