封装类
Integer这个类的介绍:
package com.ibm.four; public class Test { public static void main(String[] args) { Integer i=123; byte b1=i.byteValue(); System.out.println(b1);
double d1=i.doubleValue(); System.out.println(d1);
float f1 = i.floatValue(); int i1 = i.intValue(); long l1=i.longValue(); short s1=i.shortValue(); String str1 = i.toString();
int ii = 15; int ii1=Integer.bitCount(ii); System.out.println(ii1);
int ii2 = Integer.parseInt(str1,8); System.out.println(ii2);
String str2 = Integer.toBinaryString(ii); System.out.println(str2);
String str3 = Integer.toHexString(ii); System.out.println(str3);
String str4 = Integer.toString(ii); System.out.println(str4);
Integer iii = Integer.valueOf(ii); System.out.println(iii); } } |
String类:
一些使用方法:
package com.ibm.strings; import java.io.UnsupportedEncodingException; public class StringDemo { public static void main(String[] args) throws UnsupportedEncodingException { String str = "welcome softomm "; // 构造新的字符串的方法; //1. concat 方法在str后面加上! String newStr = str.concat("!"); System.out.println(newStr); //2. replace 将字符串中的char型值替换成新的String字符串 String newStr2 = str.replace('e', 'E'); System.out.println(newStr2);
CharSequence cs = str.subSequence(0, str.length()); CharSequence cs2 = str.subSequence(0, str.length()/2); String newStr3 = str.replace(cs2, cs); System.out.println(newStr3);
//3. subString字符串截取 //用于截取从指定索引处到此字符串完的一个新的字符串 String newStr4 = str.substring(8); System.out.println(newStr4); //如果将str字符串截取成come soft String newStr5 = str.substring(3,12); System.out.println(newStr5);
//4. toUpperCase 将字符串按照系统的环境转换成大写 String newStr6 = str.toUpperCase(); System.out.println(newStr6);
//5. toLowerCase将字符串转换成小写 String newStr7 = str.toLowerCase(); System.out.println(newStr7);
//6. trim去掉字符串的前后空格 如果字符串中间有空格则中间的空格不去掉 System.out.println(str.trim());
// 查找字符串的方法 String[] strs = {"a你好","a你帅","b你们","aa","bb","cc"}; //1. startWith 判断一个字符串是否以XX开始 for(String s:strs){ if(s.startsWith("a")){ System.out.println(s); }
if(s.endsWith("帅")){ System.out.println(s+"========="); } }
//2. indexof lastIndexOf //判断子字符串在某一个字符串中第一次出现的索引位置 int int index=str.indexOf('e'); System.out.println(index);
//3.判断子字符串在某一个字符串中最后出现的索引位置 int int last = str.lastIndexOf('e'); System.out.println(last);
//4.比较字符串的方法 //equalsIgnoreCase将此字符串与另一个字符串比较,不考虑大小写 //,只需要注意的是字符串的长度和字符串中的每一个字符的拜访顺序 boolean flag = str.equalsIgnoreCase("WelCome SofTomM"); System.out.println(flag);
//5. compareTo按字典顺序比较两个字符串。 String str8 = "a"; int j = str8.compareTo("b"); System.out.println(j); //6. charAt返回指定索引下标的值 char cc = str.charAt(3); System.out.println(cc); //7. format按照一个格式对字符串进行格式化 //8.getBytes 将字符串转换成一个byte型数组 byte[] b = str.getBytes(); //对字符串进行编码的转换主要是一个字符串如果出现了乱码 //假如:str出现了乱码 String newStr9 = new String(str.getBytes("iso-8859-1"),"utf-8");
//9. split 将一个字符串以一个字符串进行分割 String[] stres = str.split(" "); System.out.println(stres[0]); System.out.println(stres[1]);
} }
|
StringBuffer:
package com.ibm.strings; public class StringBufferDemo {
public static void main(String[] args) { //创建一个StringBuffer对象,表示一个可变长的字符串. StringBuffer sb = new StringBuffer(); //调用append方法将字符串添加到sb对象中去 sb.append("softomm"); sb.append(true); sb.append("你"); sb.append("aaaaaaaaa");
//在你后面添加 “好” 变成 sb.insert(12, "好"); System.out.println(sb);
//reverse 字符串反转 ab->ba sb.reverse(); System.out.println(sb);
//setCharAt 给指定的索引的位置设置对应的字符串 sb.setCharAt(1, 'b'); System.out.println(sb);
//setLength 给可变长的字符串设置长度 sb.setLength(2); System.out.println(sb); }} |
StringBuilder StringBufferString的比较
/*String StringBufferStringBuilder
* 定长 变长 变长
* 线程安全 线程安全 线程不安全
* 效率低 效率中等 效率高
* 单线程 单线程 支持多线程
*
* */
执行效率问题:
package com.ibm.strings; public class StringSpeed { public static void main(String[] args) { // String str=""; // //取到系统时间用毫秒表示返回1970-1-1 24点距离当前时间的毫秒数 // long start = System.currentTimeMillis(); // //对空的str字符串进行循环相加10000次操作 // for(int i=0;i<10000;i++){ // str = str+i; // } // //循环完成之后,再取得系统时间 // long end = System.currentTimeMillis(); // System.out.println(end-start);
// StringBuffer str = new StringBuffer(); // long start = System.currentTimeMillis(); // //对空的str字符串进行循环相加10000次操作 // for(int i=0;i<10000;i++){ // str.append(i); // } // //循环完成之后,再取得系统时间 // long end = System.currentTimeMillis(); // System.out.println(end-start);
StringBuilder str = new StringBuilder(); long start = System.currentTimeMillis(); //对空的str字符串进行循环相加10000次操作 for(int i=0;i<1000000;i++){ str.append(i); } //循环完成之后,再取得系统时间 long end = System.currentTimeMillis(); System.out.println(end-start); // System.out.println(end);
} }
|