总结String的常用方法

来源:互联网 发布:java如何查看文件编码 编辑:程序博客网 时间:2024/05/17 21:52
 在项目中String是不可避免使用,包括数据之间的相互传值,在处理id时,经常用到string的一些方法,现在总结一下:

认识String:
String 默认使用final修饰,不能被继承;java字符串在内存中采用nunicode编码方式,任何一个字符对应两个字节的定长编码;
String是放在常量池中,并尽量使用同一对象,重用静态字符串;

IndexOf
使用indexOf实现检索;
Int indexOf(String str) 在字符串中检索到str,返回第一次出现的位置,如果检索不到,那就返回-1;此方法尝尝用来检验字符串中有没有包含某个字符串;
Int indexOf(String str,int fromIndex) 从字符串的指定位置开始检索
Int lastIndexOf(String str,int from) str在字符串中多次出现时,将返回最后一个出现的位置

Substring
使用substring获取子字符串
String substring(int beginIndex,int endIndex) 返回字符串中从下标开始到enindex结束的子字符串;注意:含头不含尾
String substring(int beginIndex) 返回从该下标到结尾的子字符串;(含头含尾)
一般我们经常使用该方法来去除字符串中最后的,号
String str.substring(0,str.length()-1);

Trim
去掉一个字符串的前后的空余
String username = “ good man ”
Username = username.trim();// good man

charAt
Char charAt(int index); 用于返回字符串指定未知的字符;

startsWith和endsWith
检测一个字符串是否以指定字符串开头或结尾
String str = “Thinking in java”;
System.out.println(str.endWith(“java”));//true

大小写的转换
str.toUpperCase();转为大写
Str.toLowerCase();转为小写

valueOf
将其他类型转换为字符串类型

/*
* valueOf
* 将其他类型转为字符串类型
*/
double pl = 3.1415926;
int value = 123;
boolean flag = true;
char[] charArr = {‘1’,’2’,’3’,’4’};
String str1 = String.valueOf(pl);
String str2 = String.valueOf(value);
String str3 = String.valueOf(flag);
String str4 = String.valueOf(charArr);
System.out.println(str1);//3.1415926
System.out.println(str2);//123
System.out.println(str3);//true
System.out.println(str4);//1234

Replace/replaceAll
替换字符串
Str = str.replace(“”,””);//性能偏低

Equals() //判断字符串是否相等
equalsIgnoreCase() //忽略大小写的情况下比较内容是否相等
== //判断内容与地址是否相同

字符串的转换:
1、将字符串转换为字符数组
Public char[] toCharArray();
2、 将字符串转为字符串数组
就是用split()方法;

下面是自己做的一些字符串的方法,其中有字符串之间的去重功能,这个在项目中也是用到的(比如去除重复的id)

public static void main(String[] args) {    /*     * valueOf     * 将其他类型转为字符串类型     */    double pl = 3.1415926;    int value = 123;    boolean flag = true;    char[] charArr = {'1','2','3','4'};    String str1 = String.valueOf(pl);    String str2 = String.valueOf(value);    String str3 = String.valueOf(flag);    String str4 = String.valueOf(charArr);    System.out.println(str1);//3.1415926    System.out.println(str2);//123    System.out.println(str3);//true    System.out.println(str4);//1234    /*     * 字符串与int之间的转化     */    String a = "123";    int aa = Integer.parseInt(a);    int bb = 456;    String b = Integer.toString(bb);    System.out.println(aa);    System.out.println(b);    /*     * 字符串与doube之间转化     *      */    String c = "3.14";    double cc = Double.parseDouble(c);    System.out.println(cc);    /*     * 字符串与date之间转化     */    //date转为String    Date date = new  Date();    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");    String dateStr =  sdf.format(date);    //String转为date    Date date1 = null;    try {        date1 = sdf.parse(dateStr);    } catch (ParseException e) {        e.printStackTrace();    }            System.out.println(dateStr);    System.out.println(sdf.format(date1));    demo1 demo = new demo1();    demo.distinct1();    demo.distinct2();}//字符创之间去重-情景1public String distinct1(){    String str1 = "12312,122312,12334,56658,89895455,234,456";    String str2 = "234,456,12334";    StringBuffer strBf = new StringBuffer();    String[] strArr2 = str2.split(",");     //现剔除str2中存在的    for (int i = 0; i < strArr2.length; i++) {        if(str1.indexOf(strArr2[i])!= -1){            str1 = str1.replace(strArr2[i], "");        }           }    //下面主要是实现去重后的str1的重新组装,注意要去掉最后的“,”号    String[] strArr1 = str1.split(",");    for (int s = 0; s < strArr1.length; s++) {        if(strArr1[s] != ""){            if(s != strArr1.length-1 ){                strBf.append(strArr1[s]+",");            }else{                strBf.append(strArr1[s]);            }        }    }    str1 = new String(strBf);    System.out.println(str1);       return str1;}//字符串去重-情景2public String distinct2(){    String aa = "asdaeaaasssfdfdggfgfywvcj";    StringBuffer strBuf = new StringBuffer();    char[] aaArr = aa.toCharArray();    for (int i = 0; i < aaArr.length; i++) {        if(strBuf.indexOf(String.valueOf(aaArr[i])) == -1){            strBuf.append(aaArr[i]);        }    }    aa = new String(strBuf);    System.out.println(aa);    return aa;}
0 0
原创粉丝点击