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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 潜伏 中级黑马   /  2013-11-15 21:20  /  1675 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

无法将string中contains的方法应用到给定类型;s.contains('e');
为啥?谢谢!!!

7D[~M2WLIZW2ALZNVUY`96S.jpg (57.9 KB, 下载次数: 49)

7D[~M2WLIZW2ALZNVUY`96S.jpg

6 个回复

倒序浏览
  1. class Demo{
  2.         public static void main(String[] args)
  3.         {
  4.               Demo1.method();


  5.         }
  6. }
  7. class Demo1 {
  8. static String s = "lovemysele";
  9. public static void method() {
  10.         System.out.println(s.length());
  11.         System.out.println(s.charAt(3));
  12.         System.out.println(s.indexOf('e'));
  13.         System.out.println(s.indexOf('e',4));
  14.         System.out.println(s.contains("e"));
  15.         //public boolean contains(CharSequence s)当且仅当此字符串包含指定的 char 值序列时,返回 true。
  16.         //所以应该是s.contains("e")
  17. }
  18. }
复制代码

评分

参与人数 1黑马币 +2 收起 理由
潜伏 + 2 很给力!不过还是不太懂,e不就是个字符吗?.

查看全部评分

回复 使用道具 举报
  当且仅当此字符串包含指定的 char 值序列时,返回 true

  String s = "my String is s";
  boolean result1 = s.contains("my name")  ; false
  boolean result2 = s.contains("my is");        false
  boolean result3 = s.contains("my String")  ;true
  boolean result3 = s.contains("s");              true

回复 使用道具 举报
contains方法是这样的boolean contains(String str);也就是比较字符串中是否存在字串str。
你在这儿写成了boolean contains('e'),
用单引号括起来的是单个字符,也就是char型的,而String是继承Object的对象。所以contains不能完成你想要的操作。

你可以修改成s.contains("e");或者用s.indexOf('e')方法。
回复 使用道具 举报
contains本质上就是一个比较
你拿String和一个基本数据类型去比·····
回复 使用道具 举报
懂了,判断的是一个字符串中是否包某个子串,所以该子串也必须是字符串形式:“”,而不应该是字符形式:''
回复 使用道具 举报
潜伏 中级黑马 2013-11-15 21:53:47
7#
谢谢你,我懂了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马