A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵然 中级黑马   /  2013-7-30 10:26  /  1661 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨兴庭 于 2013-7-30 18:21 编辑

最近看了些题 不少都是String方面的  但是看的多了 忽然发现自己晕了   麻烦那些对String类精通的小伙伴们    告诉我些心得   到底那些操作会改变它的值,那些操作虽然做了但是不能改变它的值。有总结的话最好啦  嘎嘎 没得话就给我说几个例子吧  谢啦

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1

查看全部评分

6 个回复

倒序浏览
能详细说明下String类的在内存中如何存储的就更好不过了  
回复 使用道具 举报
  1. //demo1
  2. String str1 = "Java";
  3. String str2 = "Java";
  4. System.out.println(str1==str2); //true
  5. //demo2
  6. String str1 = new String("Java");
  7. String str2 = new String("Java");
  8. System.out.println(str1==str2); //false
  9. //demo3
  10. String str1 = "java";
  11. String str2 = "blog";
  12. String s = str1 + str2;
  13. System.out.println(s=="javablog"); //false
  14. //demo4
  15. String s = "java" + "blog";//字符串拼装
  16. System.out.println(s=="javablog"); //true
  17. //demo5
  18. String str2 = "blog";
  19. String s = "java"+str2;
  20. System.out.println(s=="javablog"); //false
  21. //demo6
  22. String str1 = new String("Java");
  23. String str2 = "Java";
  24. System.out.println(str1.equals(str2));//true
复制代码
可以么?

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
对于String,我看毕老师的视频总结了点,字符串最大的特点是:一但被初始化就不可以被改变。因为final
常见的对字符串的操作有,
1,获取
        1.1 字符串中的包含的字符数,也就是字符串的长度
            int length() 获取长度
        1.2 根据位置获取位置上的字符       
            char charAt(int index);
        1.3 根据字符获取该字符在字符串中的位置
                int indexof(int ch) :返回的是ch在字符串第一次出现的位置
                intindexof(int ch,int fromIndex):从fromIndex指定位置开始,获取ch在字符串中的位置
                int indexof(String str):返回的是str在字符串中的位置
                int indexof(String str,int fromIndex) 从fromIndex指定位置开始,获取str在字符串中出现的位置
2,判断
        2.1 字符串中是否包含某一个字符串
             boolea contains(str);判断字符串是否存在
                也可以对指定字符串判断是否包含
        2.2 字符中是否有内容
            boolean isEmpty(); 原理就是判断长度是否为0
        2.3 字符串是否是以指定内容开头
            boolean startsWith(str);
        2.4 字符串是否是以指定内容结尾、
            boolean endsWith(str);
        2.5 判断字符串中内容是否相同,复写了Object类中的equals方法
        boolean equals(str);
        2.6 判断内容是否相同,并忽略大小写
        boolean equalsIgnoreCade();
3,转换
        3.1将字符数组转成字符串
        3.2将字符串转成字符数组
        3.3将字节数组转成字符串
        3.4将字符串转成字节数组
4,替换
String replace(oldchar,newchar);
5,切割
  string[] splist(regex);
6,获取 字符串中的一部分
string substring(begin);  从指定位置开始到结尾
string substring(begin,end);从指定位置开始到指定位置结束
7,转换,去除空格,比较,
        7.1 将字符串转换成大写或者小写
                String toUpperCase();
                String toLowerCase();
        7.2 将字符串两端多个空格去除
                String trim();

        7.3对两个字符串进行自然顺序的比较
                int compareTo(string);
不懂了,可以看下毕老师的视频,希望能帮到你

评分

参与人数 1技术分 +2 收起 理由
杨兴庭 + 2 很给力!

查看全部评分

回复 使用道具 举报
今天刚整理的- -   楼主你真幸福。。具体写的例子我发过来说长度超了,等下发个帖子你自己去看下好了。


String():初始化一个新的 String 对象,使其表示一个空字符序列,并不是返回空(不等于 null)
String(StringBuffer buffer):根据StringBuffer对象来创建String对象;
String(StringBuilder builder):同上
char charAt(int index):取字符串中指定位置的字符,index0开始计算。
String concat(String str):连接字符串,等同于 “+”
boolean contentEquals(StringBuffer buffer):若二者包含的字符序列相同时就返回true;
boolean equals(Object obj):将该字符串与指定对象比较,若二者包含的字符序列相等返回true
boolean equalsIgnoreCase(String anotherString) 将此 String 与另一个 String 比较,不考虑大小写;
byte[] getBytes():将该字符串转换成byte数组;
int indexOf(String str):找出str字符串在该字符串中第一次出现的位置;
int indexOf(String str, int fromIndex) 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始;
int lastIndexOf(String str) 返回指定子字符串在此字符串中最后一次出现处的索引;
int length():返回当前字符串长度;
String replace(char oldChar, char newChar) :返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
String replaceAll(String regex, String replacement) 使用给定的 字符串replacement 替换此字符串所有的regex字符串;
boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开始.
String[] split(String regex): 把字符串按指定的字符串分隔开。
String substring(int beginIndex) 返回一个新的字符串,从beginIndex开始截取,它是此字符串的一个子字符串;
String substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串;[begin,end)
char[] toCharArray() 将此字符串转换为一个新的字符数组。
String toLowerCase() 将此 String 中的所有字符都转换为小写;
String toUpperCase()转成大写;
static String valueOf(基本类型 obj):把基本类型值转成字符串;
String trim() :忽略字符串前导空白和尾部空白。

图片1.png (25.54 KB, 下载次数: 0)

图片1.png

评分

参与人数 1技术分 +2 收起 理由
杨兴庭 + 2 赞一个!

查看全部评分

回复 使用道具 举报
谢了  亲们
回复 使用道具 举报
输出什么信息
public class Test {
                public static void main(String[] args) {
                        String s = "abc";
                        s.substring(1);
                        s.replace("bc", "xyz");
                       System.out.println(s);
                       String value = new String ("abc");
                       System.out.println(s == value);
                }
       }
这个题目就可以让你懂String了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马