Java Notes: String and StringBuilder
来源:互联网 发布:php简单企业网站源码 编辑:程序博客网 时间:2024/06/03 11:18
两者最大的区别是:immutable和mutable.
调用String的方法返回的永远是一个新的String。调用该方法的对象是不会改变的。但是StringBuilder的对象调用方法可以改变StringBuilder本身。
利用StringBuilder搭建好String后,可以利用new String(StringBuilder strb)来创建一个最终的String.
下面罗列String常用的方法(多用多记):
Sting的构造器:String (char[] val); String (String str); String(StringBuffer, buffer); String(StringBuilder builder); 当然,还有一个非常实用的:String(char[] val, int offset, int count); 设置偏移量和长度之后可以直接截取char array的一部分作为字符串。
char charAt(int index);
String是实现了Comparable的,所以里面有int compareTo(String str); 字典比较
int compareToIgnoreCase(String str)
boolean startWith(String prefix) or boolean startWith(String prefix, int offset);
boolean endWith(String suffix)
equals and equalsIgnoreCase(String str);
对比String在构造器当中可以用String(char[] array, int offset, int length)来截取字符数组的一部分来创建String,而String类型对象除了可以使用toCharArray()转换为字符数组外,还能使用getChars(int begin, int end, char[] dst, int dstBegin)来获取对应的一部分String.
搜索字符时最常用的:
indexOf(char target, int fromIndex) 和 indexOf(char target)
indexOf(String str, int fromIndex) 和 indexOf(String str)
以及对应的
LastIndexOf(char target, int fromIndex) 和 LastIndexOf(char target)
LastIndexOf(String str, int fromIndex) 和 LastIndexOf(String str)
如何判断是否有重复字符?
看看indexOf和lastIndexOf返回的值是否一样。
替代该字符串中所有出现的target字符串且返回替代后的String?
String res = replaceAll(String target, String replaceStr);
替代该字符串中第一个出现的target字符串且返回替代后的String?
String res = replaceFirst(String target, String replaceStr);
去子字符串:
String substring(int begin) or String substring(int begin, int end); //前闭后开
去掉开头和结尾空格
trim() -- 返回一个去掉开头和结尾空格的String.
所有的字符变为大写或者小写?
toLowerCase() and toUpperCase
将其它的基本类型和字符数组变为String:
String.valueOf(float tmp) and etc.
下面罗列StringBuilder常用的方法(多用多记):
下面重点来了,StringBuilder是没有用char array作为参数的带参构造器的。Java的quiz就考过这样的题了。
有以下的带参构造器:StringBuilder(int capacity)和StringBuilder(String str)。
常用的几个方法:
所有的基本类型 + String 和 char[] 的append. 对于char[]还有:append(char[] array, int offset, int len);
还有delete(int start, int end) 和 deleteCharAt(int index);
还有insert (int offset, primitive var); 所有的基本类型 + String 和 char[],对于char[] 同样有:int offset, int len
还有setChar(int index, char ch);
同样的,和String有一样的如下方法:replace(int start, int end, String str), indexOf, lastIndexOf, charAt, getChars.
- Java Notes: String and StringBuilder
- Java - String, StringBuffer and StringBuilder
- [Java]Difference between String StringBuffer and StringBuilder
- JAVA API String and StringBuilder Case
- Differences between String and StringBuilder in Java
- String and StringBuilder
- StringBuilder And string
- String,StringBuilder and StringBuffer
- String, StringBuffer, and StringBuilder
- String、StringBuffer and StringBuilder
- String StringBuilder and StringBuffer
- Java for Complete Beginners StringBuilder and String Formatting
- Difference Between String , StringBuilder And StringBuffer Classes With Example : Java
- Java String,StringBuilder,StringBuffer
- JAVA String StringBuffer Stringbuilder
- Java String\StringBuffer\Stringbuilder
- Java String StringBuilder StringBuffer
- Java String StringBuilder StringBuffer
- web服务组件
- Android Studio JNI使用实例
- spring的@Transactional注解详细用法
- 近期项目的一些心得
- 指针及相关 Part1
- Java Notes: String and StringBuilder
- Scala 的 yield 例子 (for 循环和 yield 的例子)
- Python系列之五_爬虫抓图
- ContentNegotiatingViewResolver 实例
- 跨数据中心场景下,kafka集群部署模式
- HDU3790 最短路径问题
- 什么时候可以觉醒
- 如何在Controller层实现事务管理?
- Android Native Looper机制