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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hmYing 中级黑马   /  2013-8-6 21:57  /  1739 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天听了毕向东老师讲的API的String类,刚听第一节,印象最深的拿来与大家分享:
int indexOf(int ch)方法:参数为ASCII码,所以为int类型参数
                                    如果字符串中找到ch字符的位置,返回它的脚标(从0开始)
                                                        没有找到,就返回 -1

内存中:方法区(方法数据:如方法代码)
            静态区
            常量池(固定不变的)如字符串:当有一个字符串变量时,它的每个字符就会保存在常量池中
String str1 = "abc";
String str2 = new String("abc");
String str3 = "abc";
其中str1 == str3为true
      str1.equals(str2)为true
      str1 == str2为false

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 很给力!

查看全部评分

4 个回复

倒序浏览
String str1 = "abc";
String str2 = new String("abc");
String str3 = "abc";
其中str1 == str3为true------------------------------------------因为"abc"保存在常量池中,并且这3个字符不重复存放在常量池,str3就也指向了与str1相同的地址
       str1.equals(str2)为true
       str1 == str2为false
回复 使用道具 举报
String str1 = "abc";
String str2 = new String("abc");
String str3 = "abc";
其中str1 == str3为true------------------------------------------因为"abc"保存在常量池中,并且这3个字符不重复存放在常量池,str3就也指向了与str1相同的地址
       str1.equals(str2)为true---------------------------------因为boolean equals(String str)方法比较两个字符串的内容
        str1 == str2为false----------------------------------------因为str2用new方法创建了字符串对象,所以"abc"与"new String("abc")"是两个不一样的字符串对象,地址也不同
回复 使用道具 举报
不错不错      
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马