关于JAVA中StringBuffer和String值的比较
程序员文章站
2022-04-23 14:10:19
...
近日做登录权限校验时,希望形如http://localhost:8080/ProjectName的URL能够不被登录校验的过滤器拦截。于是采用request.getRequestURL()方法取得如上路径。
通过if(request.getRequestURL().equals(http://localhost:8080/ProjectName))来做比较,如果返回TRUE可以直接跳到WEB.XML中配置的欢迎页面。
然而结果却一直返回为FALSE。
经观察,getRequestURL()返回的是一个StringBuffer值。于是便试着用String.valueOf()来将StringBuffer转为String。结果equals方法后仍然返回FALSE。
再后来,用StringBuffer().toString()方法,再用来与http://localhost:8080/ProjectName做比较。
终于返回TRUE了!
通过if(request.getRequestURL().equals(http://localhost:8080/ProjectName))来做比较,如果返回TRUE可以直接跳到WEB.XML中配置的欢迎页面。
然而结果却一直返回为FALSE。
经观察,getRequestURL()返回的是一个StringBuffer值。于是便试着用String.valueOf()来将StringBuffer转为String。结果equals方法后仍然返回FALSE。
再后来,用StringBuffer().toString()方法,再用来与http://localhost:8080/ProjectName做比较。
终于返回TRUE了!
推荐阅读
-
Java中 equals 和 == 的比较
-
Java中成员变量与局部变量的区别、对象类型作为方法的参数和方法的返回值
-
java中的值传递和引用传递有什么区别呀?
-
Java中不得不谈的值传递和地址传递
-
JAVA中Integer.valueOf, parsetInt() String.valueOf的区别和结果
-
Java中的值传递和引用传递
-
Java日期时间API系列30-----Jdk8中java.time包中的新的日期时间API类,减少时间精度方法性能比较和使用。
-
Java得到一个整数的绝对值,不使用任何判断和比较语句,包括API
-
Java中String字符串值的内存分配
-
关于Java中System.out.println和System.out.print的区别