小编Maa*_*ten的帖子

使用Class作为HashMap的关键是否会导致不良影响?

考虑以下:

Map<Class<?>, Object> myMap = new HashMap<Class<?>, Object>();
Foo fooObject = New Foo();
myMap.put(fooObject.getClass(), fooObject)
Run Code Online (Sandbox Code Playgroud)

请注意,java.lang.Class本身并不实现hashCode()方法,而是隐式地从java.lang.Object继承它.我在JDK 1.8中验证了这一点.

可以java.lang.Class安全地用作钥匙java.util.HashMap吗?将myMap.get(Foo.class)始终返回,我把喜欢的价值观myMap.put(fooObject.getClass(), fooObject)?考虑该软件具有各种类加载器和序列化机制.它仍然会是相同的结果吗?如果不是......会有什么选择?

java class hashmap hashcode

7
推荐指数
3
解决办法
117
查看次数

在Java中,对于int或long,Math.signum(double)的等效函数

对于其他原始数字(如intlong ),Java中的Math.signum(double)Math.signum(float)是否具有等效函数.我不想写代码

  int sign = (int) Math.signum((double) intValue);
Run Code Online (Sandbox Code Playgroud)

什么时候有更好的选择.

java math primitive

4
推荐指数
1
解决办法
956
查看次数

Intellij用ClassName.class替换getClass()

IntellJ Idea项目中是否可以用当前的类名+ .class替换对getClass()的所有调用?

因此,例如替换:

class ClassName{
  public method(){
    Logger.logDebug(getClass(), "Some information")
  }
}
Run Code Online (Sandbox Code Playgroud)

class ClassName{
  public method(){
    Logger.logDebug(ClassName.class, "Some information")
  }
}
Run Code Online (Sandbox Code Playgroud)

java intellij-idea structural-search

0
推荐指数
1
解决办法
374
查看次数