问一个神奇的问题:

来源:4-1 JSTL函数之常用函数(Ⅰ)

慕粉3904766

2016-10-04 15:11

<c:out value="${fn:endsWith('helle','e') }"></c:out>

<c:out value="${fn:endsWith('hhlle','e') }"></c:out>

访问的时候显示 false true 。 为什么啊啊????

写回答 关注

1回答

  • 蜗牛__
    2016-10-05 19:41:07
    已采纳

    public static boolean endsWith(String input, String substring) {
       if(input == null) {
           input = "";
       }

       if(substring == null) {
           substring = "";
       }

       int index = input.indexOf(substring);
       return index == -1?false:(index == 0 && substring.length() == 0?true:index == input.length() - substring.length());
    }

    这是它的源码,你看了这个应该就明白了,

    最后index == input.length() - substring.length(),在helle中,input.length()为5,而substring.length()为1,

    而index为1,所以index!=5-1,所以返回false

    慕粉3904...

    非常感谢!

    2016-10-17 22:36:32

    共 1 条回复 >

JSP常用标签

配置及使用常用JSTL标签,这是一项必备的基本技能

46090 学习 · 80 问题

查看课程

相似问题