String API 常用方法
public static void main(String[] args) {
String url = "www.baidu.com";
**// charAt 返回指定位置的字符。**
char a = url.charAt(4);// 根据索引差到字符。
System.out.println(a);
**//根据字符返回下标 indexOf**
int b = url.indexOf(".");
System.out.println(b);
**//最后一次出现的字符 lastindexOf**
int c = url.lastIndexOf(".");
System.out.println(c);
**//字符串比较 compareTo**
String d = "hello";
String e = "hello1";
System.out.println(d.compareTo(e));
**//字符串拼接 concat**
d = d.concat("word");
System.out.println(d);
**//方法**:
toCharAarry();
getBytesDemo();
}
**//trim 去除字符串前后的空格**
public static void trimDemo(){
String url1 = "www.baidu.com ";
System.out.println("原"+url1.length());
String trim = url1.trim();
System.out.println(trim);
System.out.println("去除空格后的长度:"+trim.length());
}
**//toLowerCase() 转换成小写 toUpperCase() 转换成大写**
public static void toLowerCaseDemo(){
String url = "HELLO WORD";
String lowerCase = url.toLowerCase();
System.out.println(lowerCase);
String upperCase = url.toUpperCase();
System.out.println(upperCase);
}
**//toCharAarry 将此字符串转换为一个新的字符数组。**
public static void toCharAarry(){
String url ="abc";
char[] charArray = url.toCharArray();
System.out.println(Arrays.toString(charArray));
}
**//getBytes 将此String 编码为 byte, 并将结果存储到一个新的 byte 数组中。**
public static void getBytesDemo(){
String url = "abc";
byte[] bytes = url.getBytes();
System.out.println(Arrays.toString(bytes));
}
**//equals equalsIgnoreCase:不考虑大小写**。
public static void equalshDemo(){
String url ="www.baidu.com";
String url1 = "WWW.baiDU.Com";
System.out.println(url.equals(url1));
System.out.println(url.equalsIgnoreCase(url1));
}
**//startsWith endsWith 判断前后缀是否相同**
public static void startWithDemo(){
String url = "www.baidu.com";
System.out.println(url.startsWith("www"));
System.out.println(url.endsWith("com"));
}
String Buffer 与StringBuilder区别
*
* String 对象,以及方法。
* StringBuffer StringBuilder
* StringBuffer: 字符串缓冲类:程安全的可变字符序列。一个类似于 String 的字符串缓冲区
*
* StringBuilder: 一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步.线程不安全。
*
* String 和 StringBuffer StringBuilder 区别。
* String 表示一组不可变的字符序列。对于字符串的操作,将会创建新的字符串对象。 不适用于频繁操作字符串。
* StringBuffer 线程安全的可变字符序列。对于字符的操作,将在其对象方法中完成,不会创建新的字符串对象。适用于多线程操作
* StringBuilder 非线程安全的可变字符序列。对于字符的操作,将在其对象方法中完成,不会创建新的字符串对象。适用于单线程操作。
*
public static void main(String[] args) {
//String的使用
String a ="a";
a=a+"b";
//问题:一共有几个String对象
//StringBuffer的使用
StringBuffer sb = new StringBuffer("a");
sb.append("b");
//向其内部插入,只允许前后多加1位
sb.insert(0, "[");
sb.insert(sb.length(), "]");
//删除某一位
sb.delete(0, 1);
//反转
sb.reverse();
System.out.println(sb.toString());
//StringBuilder 的使用
StringBuilder sb1 = new StringBuilder("a");
sb1.append("b");
sb1.insert(0, "{");
sb1.insert(sb1.length(), "}");
sb1.delete(0, 1);
System.out.println(sb1.capacity());
System.out.println(sb1.length());
}