为了账号安全,请及时绑定邮箱和手机立即绑定

测试的时候遇到一个问题: <c:out value="${fn:endsWith('helle','e') }"></c:out> <c:out value="${fn:endsWith('hhlle','e') }"></c:out> 访问的时候显示 false true 。 为什么啊啊????

测试的时候遇到一个问题:
<c:out value="${fn:endsWith('helle','e') }"></c:out>
<c:out value="${fn:endsWith('hhlle','e') }"></c:out>
访问的时候显示 false true 。 为什么啊啊????

正在回答

1 回答

public static boolean endsWith(String input, String substring)
    {
        if (input == null)
            input = "";
        if (substring == null)
            substring = "";
        int index = input.indexOf(substring);//此处应该是lastIndexOf
        if (index == -1)
            return false;
        if (index == 0 && substring.length() == 0)
            return true;
        return (index == input.length() - substring.length());}

以上是JSTL的endsWith的源码,可以看出存在一些bug

http://stackoverflow.com/questions/16750540/jstl-bug-in-function-endswith

1 回复 有任何疑惑可以回复我~
#1

梦影剑魂 提问者

封装好的源码也有bug啊,谢谢啦
2016-10-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

测试的时候遇到一个问题: <c:out value="${fn:endsWith('helle','e') }"></c:out> <c:out value="${fn:endsWith('hhlle','e') }"></c:out> 访问的时候显示 false true 。 为什么啊啊????

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信