android 中的字符串总结

先看看字符串资源

在res文件夹里面的某个xml文件中:

   

    xml version="1.0" encoding="utf-8" ?>
    < resources >
       
< string  name ="hello" > Hello! string >
    resources >
然后在其他的xml文件里面应用字符串资源

   

< TextView
    
android:layout_width ="fill_parent"
    android:layout_height
="wrap_content"
    android:text
="@string/hello"   />

在代码中得到字符串资源:

   String s = getString(R.string.hello)

   Activity和Context和Application类都有这个函数。


字符串类型有这几种:

String,StringBuffer(线程安全),StringBuilder(非线程安全,效率稍高),CharBuffer

这几个类都实现了CharSequence接口

1 String:

    字符串常量,其属性为final,

    String a = "1";  
    a = a + "2";

    这样做,其实生成了一个新的String对象,然后a再指向新的对象。

    格式化String:

2 StringBuffer

    字符串变量,线程安全,用于需要对字符串进行修改的情况,比如添加或删除子串。

    它的各种成员函数都是对自身操作,不会产生新的对象。


    构造函数:

        StringBuffer s = new StringBuffer();

        StringBuffer sb1 = new StringBuffer(“123”);
        StringBuffer sb2 = new StringBuffer(s);    //s为String对象

    toString函数:

        String s = sb1.toString();


    append函数:

        用于连接字符串:

        StringBuffer sb = new StringBuffer();
        String user = “test”;
        String pwd = “123”;
        sb.append(“select * from userInfo where
            username=“).

            append(user).

            append(“ and pwd=”).

            append(pwd);

        这种方法比String类的+效率要高些。


    deleteCharAt(int index):

        删除某个字符。


    public StringBuffer delete(int start,int end)

         删除的是一段连续的字符串,删除的字符包括start但不包括end。

   

     public StringBuffer reverse();


    public void setCharAt(int index, char ch)


    public void trimToSize(int size);

 

    int length();


    setlength(int )

    int capacity() 获取容量,ensureCapacity()确保有一定容量。

    getChars(int start,int end,char chars[],int charStart);

        复制一段字符到char数组。

        String s=”Who are you”;
        Int start=0;
        Int end=5;
        Char ch1[]=new char[start-end];
        S.getChars(start,end,ch1,0);
        System.out.println (ch1);


数字转字符串:

   

    String s;

    int i;

    s = String.valueOf(i);

    // 或者 s = Integer.toString(i);


字符串转数字的函数:

出处:http://hi.baidu.com/yangyxd/item/2a4ba1fbd4a5d24a922af204

/** 转换字符串为数字 */
public  static  int  strToInt( String  value,  int  defaultValue) { 
     try 
         return  Integer.valueOf(value); 
     catch  (Exception e) { 
         return  defaultValue; 
    
   
/** 转换字符串为数字 */
public  static  long strToInt( String  value, long defaultValue) { 
     try 
         return  Long.valueOf(value); 
     catch  (Exception e) { 
         return  defaultValue; 
    
   
/** 转换16进制字符串为数字 */
public  static  int  hexToInt( String  value,  int  defaultValue) { 
     try 
         return  Integer. parseInt (value,  16 ); 
     catch  (Exception e) { 
         return  defaultValue; 
    
   
/** 转换16进制字符串为数字 */
public  static  long hexToInt( String  value, long defaultValue) { 
     try 
         return  Long.parseLong(value,  16 ); 
     catch  (Exception e) { 
         return  defaultValue; 
    
   
/** 转换字符串为数字 */
public  static  float strToFloat( String  value, float defaultValue) { 
     try 
         return  Float.valueOf(value); 
     catch  (Exception e) { 
         return  defaultValue; 
    
   
/** 转换字符串为数字 */
public  static  double strToDouble( String  value, double defaultValue) { 
     try 
         return  Double.valueOf(value); 
     catch  (Exception e) { 
         return  defaultValue; 
    
}

你可能感兴趣的:(android)