String,StringBuilder,StringBuffer

String constructor
String literals
String s="abc"//use string literal
   1: String s= new String();

2:
String (char chars[])
String (char chars[], int startIndex, int numChars)n
example:
char chars[]={'a', 'b', 'c', 'd', 'e', 'f'};
String s= new String(chars);
String s2= new String(chars, 2, 3);

3:
String(String strObj)

4:
String(byte chrs[])
String(byte chrs[], int startIndex, int numChars);

5:
String(StringBuffer strBufObj)
String(StringBuider strBuildObj)

strObj.length()

String Concatenation
int age= 9;
String s="he is "+ age +"years old";//int age automatically to string
String s= "four: "+ 2 +2; //result: four:22
String s= "four: "+ (2+2);//result: four:4


toString() method is automatically invoked when used in a concatenation expression or in a call to println();
String s= "Box: b" +b;//concatenation, class box b
System.out.println(s);// class box b override toString() method

char charAt(int where);
char ch= "abc".charAt(1);//assigns the value b to ch

void getChars(int sourceStart, int sourceEnd, char target[], int targetStart)//extract more than one character at a time.
   example:
    String s= "This is a demo of the getChars method.";
char buf[]= new char[4];
s.getChars(10, 14, buf, 0);//buf[]={'d','e','m','o'};

byte[] getBytes();

char[] toCharArray();

boolean equals(Object str)
   boolean equalsIgnoreCase(String str)


   boolean regionMatches(int startIndex, String str2, int str2StartIndex, int numChars);

boolean regionMatches(boolean ignoreCase, int startIndex, String str2, int str2StartIndex, int numChars);

boolean startsWith(String str);
boolean endsWith(String str);
boolean startsWith(String str, int startIndex);

equals() Versus ==
   s1 == s2 ;//compare Object, whethor or not the same Object;
s1.equals(s2);//compare the content

int compareTo(String str);
int compareToIgnoreCase(String str);

//Search Strings
int indexOf(char ch);
int lastIndexOf(char ch);
int indexOf(char ch, int startIndex);
int lastIndexOf(char ch, int startIndex);

int indexOf(String str);
int lastIndexOf(String str);
int indexOf(String str, int startIndex);
int lastIndexOf(String str, int startIndex);


String substring(int startIndex);
String substring(int startIndex, int endIndex);

String concat(String str);// "one".concat("two");
String s="Hello".replace('l','w');
String replace(char original, char replacement);
String replace(CharSequence original, CharSequence replacement);
String trim();

valueOf();//Data Conversion to String, return the call toString()method
static String valueOf(double num);
static String valueOf(Object ob);

String toLowerCase();
String toUpperCase();

//JDK 8  join()
static  String join(CharSequence delim, CharSequence...strs);

boolean isEmpty();
/////////////////////
StringBuffer supports a modifialble string, automatically grow to make room for such additions;
//StringBuffer conStructor
StringBuffer();//16 additional characters allocation
StringBuffer(int size);
StringBuffer(String str);
StringBuffer(CharSequence chars);

int length();
int capacity();

void ensureCapacity(int minCapacity);

void setLength(int len);
char charAt(int where);
void setCharAt(int where, char ch);
void getChars(int sourceStart, int sourceEnd, char target[], int targetStart);
//////append();
StringBuffer append(String str);
StringBuffer append(int num);
StringBuffer append(Object obj);


StringBuffer insert(int index, String str);
StringBuffer insert(int index, char ch);
StringBuffer insert(int index, Object obj);

StringBuffer reverse();

StringBuffer delete(int startIndex, int endIndex);
StringBuffer deleteCharAt(int loc);
StringBuffer replace(int startIndex, int endIndex, String str);//substring at startIndex to endIndex-1
StringBuffer subString(int startIndex);
StringBuffer subString(int startIndex, int endIndex);

////////////////////
StringBuilder introduced by JDK 5;similar to StringBuffer
differenece: it is not synchronized, which means that it is not thread-save. The advantage of StringBuilder is faster performance. However, in cases in which a mutable string will be accessed by multiple threads, and no external synchronization is employed, you must use StringBuffer rather than StringBuilder.;






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值