首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相同的字符串不等于

相同的字符串不等于
EN

Stack Overflow用户
提问于 2017-04-18 16:15:48
回答 3查看 120关注 0票数 0

我有下面的代码部分,其中粒度值是块的。当我比较这些值时,它总是显示“否”。

代码语言:javascript
复制
   System.out.println(granularity);
   System.out.println(granularity.equalsIgnoreCase("block")?"YES":"NO");

   if(granularity.equalsIgnoreCase("BLOCK")){.....

下面是代码的输出:

代码语言:javascript
复制
block 
NO

粒度值从属性文件中提取为

代码语言:javascript
复制
granularity = prop.getProperty("Granularity");

下面是属性文件的快照:

代码语言:javascript
复制
.....Granularity = block
......

有人能解释一下为什么这两个字符串不相等吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-04-18 16:18:56

有可能是空白干扰了比较。一开始就这样做:

代码语言:javascript
复制
granularity = granularity.trim();
票数 4
EN

Stack Overflow用户

发布于 2017-04-18 16:20:37

属性文件中的属性的值直接位于=之后。

所以这个:

代码语言:javascript
复制
Granularity = block

导致值" block"。将文件更改为:

代码语言:javascript
复制
Granularity=block
票数 2
EN

Stack Overflow用户

发布于 2017-04-18 16:37:35

这是每次在代码中使用trim字符串的最佳实践,特别是当它作为用户输入时。

代码语言:javascript
复制
granularity.trim().equalsIgnoreCase("block")...

或者将它存储在granularity

代码语言:javascript
复制
String granularity = someInputString.trim();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43477302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档