Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1800720
  • 博文数量: 438
  • 博客积分: 9799
  • 博客等级: 中将
  • 技术积分: 6092
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-25 17:25
文章分类

全部博文(438)

文章存档

2019年(1)

2013年(8)

2012年(429)

分类: Java

2012-03-25 22:10:55

Java中的String类方便的操作字符串。它是唯一重载操作符(+、+=)的类。可以这样拼接字符串:String s = new String("ADD"); s += "More"; s += "More" + "And" + "More";可以注意到"More"+"And"+"More"看起来可能会产生很多临时变量,但Java对它进行了优化。上面的加号操等价于"StringBuilder sb = new StringBuilder(); sb.append("More"); sb.append("And"); sb.append("More"); s = sb.toString();

Object类定义了一个toString方法,它的实现是返回对象类名以及内存地址。所以所有的类都可以转换成String而且也可以实现自己的toString。

有一个类Fomatter(java.util.Formatter),它是专门用来格式化字符串的,和C里面的printf相似:


  1. void format()
  2. {
  3.     PrintStream o = System.out;
  4.     Formatter f = new Formatter(o);
  5.     f.format("%d + %d = %d", 1, 1, 2);
  6. }

PrintStream类(如System.out)里也定义了一个format方法和一个printf方法。它们是等价的。它们的内部实现也是借助了Formatter类。Stringformat方法也同样利用了Formatter类。

String支持正则表达式。String的matchessplitreplaceFirstreplaceAll等方法都和正则表达式有很好的交互。java.lang.regex包中的Pattern类更好地支持正则表达式。这里不多做研究,或许将来单独开一篇博客来探讨正则表达式。


阅读(789) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~