Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的映射入口键_Java_Map_Equals - Fatal编程技术网

java中的映射入口键

java中的映射入口键,java,map,equals,Java,Map,Equals,我正在调试一个脚本上的问题,我刚接触Java,我认为这是一件最简单的事情,但我需要理解。这: for( Map.Entry<String,int[]> entry : this.indexMap.entrySet()) { if( !entry.getKey().equals("nickname")) { System.out.print("'"+ entry.getKey() +"' contains "+ entry.getKey().len

我正在调试一个脚本上的问题,我刚接触Java,我认为这是一件最简单的事情,但我需要理解。这:

for( Map.Entry<String,int[]> entry : this.indexMap.entrySet())
{
     if( !entry.getKey().equals("nickname"))
     {
         System.out.print("'"+ entry.getKey() +"' contains "+ entry.getKey().length() +" chars");
         System.out.print("'"+ name +"' contains "+ name.length() +" chars");
     }
     else if( entry.getKey().trim().equals("nickname") )
     {
         System.out.print("Yes are sames");
     } 
}
我正在努力理解这一点

问题是
entry.getKey()
返回的内容与我的字符串名相同,但实际上并不相同。在第一个测试中,我们看到两个变量不同,所以打印了,但两个变量的值相同,长度不同。在elseif中,我尝试删除空格,但没有打印,那么这94个字符的位置在哪里

是代码,相关的方法是

private String parse(String query) 

private int[] getIndexes(String name)
第161行和第89行 我的for循环只是为了调试

 int[] indexes = (int[]) indexMap.get(name);
返回总是空的

查询字符串为:

SELECT COUNT(`account_id`) AS `total` FROM `game_accounts` WHERE `nickname`=:nickname
两者的区别

entry.getKey().equals("nickname")

trim()

第一种考虑空间,第二种不考虑空间


这是因为它们是地图上的一个循环:要找到“坏”键…

我认为,如果你撤销if子句,你可能会得到更像你所期望的东西,尽管你问的有点不清楚。将键作为if块中的第一个子句进行比较可以简化代码

if( entry.getKey().trim().equals("nickname") ) 
{
     System.out.print("Yes are sames");
}
else
{
     System.out.print("'"+ entry.getKey() +"' contains "+ entry.getKey().length() +" chars");
     System.out.print("'"+ name +"' contains "+ name.length() +" chars");
}

不要在上面使用微笑。我把这个注释放在这里,以便下次您注意这个问题。
name
变量来自哪里?这个代码让我困惑。你想做什么?因为这是规则。忽略微笑问题,请尝试澄清你的问题。你到底在问什么?请在你的问题结束前澄清。但是他的第一句话有一个
操作员。总之,他的问题相当令人困惑。我可以让你完全理解与这些变量交互的代码,但是很长。这是在互联网上找到的公共代码源代码的一部分。请提供更多帮助,以帮助我们帮助您。这非常令人困惑。尽管
entry.getKey()
返回
“昵称”
,但它为什么要输入
if
条件?我想这段代码不会工作,这是一段调试代码,可以查看使用的映射。
entry.getKey().trim().equals("nickname")
if( entry.getKey().trim().equals("nickname") ) 
{
     System.out.print("Yes are sames");
}
else
{
     System.out.print("'"+ entry.getKey() +"' contains "+ entry.getKey().length() +" chars");
     System.out.print("'"+ name +"' contains "+ name.length() +" chars");
}