黑马程序员技术交流社区

标题: JAVA之String和StringBuilder类 [打印本页]

作者: xiaoyaliulangji    时间: 2018-4-7 22:13
标题: JAVA之String和StringBuilder类
        String类
字符串是常量,一旦被赋值,就不能被改变
字符串本质是一个字符数组


String(String original):把字符串数据封装成字符串对象
//String(String original):把字符串数据封装成字符串对象
                String s1 = new String("hello");
                System.out.println(s1);


String(char[] value):把字符数组的数据封装成字符串对象
//String(char[] value):把字符数组的数据封装成字符串对象
                char[] value = {'h','1','l','l','o'};
                String s2 = new String(value);
                System.out.println(s2);
               

String(char[] value, int index, int count):把字符数组的一部分数据封装成字符串对象


* 通过构造方法创建的字符串对象是在堆内存。
* 通过直接赋值的方式创建的字符串对象是在方法区的常量池。

boolean equals(Object obj):比较字符串的内容是否相同
boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写

public char charAt(int index):返回指定索引处的值
public int length():返回字符串中的字符个数,字符串的长度
把数组中的元素按照指定的格式拼接成一个字符串
String result = arrayToString(arr);

写方法实现字符串数据的反转
String result = reverse(s);

//把字符串倒着遍历,在把每一个得到的字符拼接成一个字符串
                String ss = "";
               
                for(int x=s.length()-1; x>=0; x--) {
                        ss += s.charAt(x);
                }
               
                return ss;


这里需要参考String类中的方法
          public String[] split(String regex)

分割字符串:
                String s = "91 27 46 38 50";
               
                //把字符串中的数字数据存储到一个int类型的数组中
                //public String[] split(String regex)
                String[] strArray = s.split(" ");

               最终就可以得到一个Integer类型的数组


        StringBuilder类

String的内容是固定的
StringBuilder的内容是可变的



A:构造方法:
public StringBuilder()
public StringBuilder(String str)
  B:成员方法:
public String toString():返回此序列中数据的字符串表示形式。
public StringBuilder append(任意类型):添加数据,并返回对象本身。
public StringBuilder reverse():字符串本身进行反转


StringBuilder和String的相互转换
*
* StringBuilder -- String
* public String toString():通过toString()就可以实现把StringBuilder转换为String
*
* String -- StringBuilder
* public StringBuilder(String s):通过构造方法就可以实现把String转换为StringBuilder


作者: 小浙姐姐    时间: 2018-4-10 17:28





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2