android 中的字符串总结

本文介绍了Android中如何使用和管理字符串资源,包括在XML文件中定义字符串资源,并在代码及布局文件中引用的方法。此外,还详细讲解了String、StringBuffer等字符串类型的特性和用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先看看字符串资源

在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; 
    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值