草庐IT

long-integer

全部标签

java - 我应该如何在 hashCode() 中将 long 映射到 int?

我有一系列具有long字段的对象,该字段的值唯一标识整个系统中的特定对象,很像GUID。我已经覆盖了Object.equals()以使用此id进行比较,因为我希望它与对象的副本一起使用。现在我也想覆盖Object.hashCode(),这基本上意味着将我的long映射到某个int返回值。如果我正确理解了hashCode的用途,它主要用于哈希表,因此需要均匀分布。这意味着,只需返回id%2^32就足够了。仅此而已,还是我应该注意其他事情? 最佳答案 从Java8开始你可以使用Long.hashCode(guid);对于旧版本的Java

java - 我应该如何在 hashCode() 中将 long 映射到 int?

我有一系列具有long字段的对象,该字段的值唯一标识整个系统中的特定对象,很像GUID。我已经覆盖了Object.equals()以使用此id进行比较,因为我希望它与对象的副本一起使用。现在我也想覆盖Object.hashCode(),这基本上意味着将我的long映射到某个int返回值。如果我正确理解了hashCode的用途,它主要用于哈希表,因此需要均匀分布。这意味着,只需返回id%2^32就足够了。仅此而已,还是我应该注意其他事情? 最佳答案 从Java8开始你可以使用Long.hashCode(guid);对于旧版本的Java

java - 在 Java 中比较 int 和 long 是否可以

在Java中比较int和long可以吗...longl=800Linti=4if(i 最佳答案 是的,没关系。int将被隐式转换为long,这始终可以在不丢失任何信息的情况下完成。 关于java-在Java中比较int和long是否可以,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/11143253/

java - 在 Java 中比较 int 和 long 是否可以

在Java中比较int和long可以吗...longl=800Linti=4if(i 最佳答案 是的,没关系。int将被隐式转换为long,这始终可以在不丢失任何信息的情况下完成。 关于java-在Java中比较int和long是否可以,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/11143253/

java - 使用 volatile long 有什么意义吗?

我偶尔会使用volatile实例变量,因为我有两个线程读取/写入它并且不希望获取锁的开销(或潜在的死锁风险);例如,一个计时器线程定期更新一个intID,该ID作为某个类的getter公开:publicclassMyClass{privatevolatileintid;publicMyClass(){ScheduledExecutorServiceexecService=Executors.newScheduledThreadPool(1);execService.scheduleAtFixedRate(newRunnable(){publicvoidrun(){++id;}},0L,

java - 使用 volatile long 有什么意义吗?

我偶尔会使用volatile实例变量,因为我有两个线程读取/写入它并且不希望获取锁的开销(或潜在的死锁风险);例如,一个计时器线程定期更新一个intID,该ID作为某个类的getter公开:publicclassMyClass{privatevolatileintid;publicMyClass(){ScheduledExecutorServiceexecService=Executors.newScheduledThreadPool(1);execService.scheduleAtFixedRate(newRunnable(){publicvoidrun(){++id;}},0L,

java - 为什么混合 + 和 cast 不会在 "+(int)+(long)-1"中产生错误?

为什么会打印1?importjava.util.*;importjava.lang.*;importjava.io.*;classMain{publicstaticvoidmain(String[]args)throwsjava.lang.Exception{//yourcodegoeshereSystem.out.println((byte)+(short)-(int)+(long)-1);}}我们可以混合使用强制转换和+,-一元运算符吗?我知道我们可以进行多次强制转换,但为什么不将+,-一元运算符放在中间会产生错误? 最佳答案

java - 为什么混合 + 和 cast 不会在 "+(int)+(long)-1"中产生错误?

为什么会打印1?importjava.util.*;importjava.lang.*;importjava.io.*;classMain{publicstaticvoidmain(String[]args)throwsjava.lang.Exception{//yourcodegoeshereSystem.out.println((byte)+(short)-(int)+(long)-1);}}我们可以混合使用强制转换和+,-一元运算符吗?我知道我们可以进行多次强制转换,但为什么不将+,-一元运算符放在中间会产生错误? 最佳答案

java - 使用哪一个,int 或 Integer

我需要创建一个数据传输对象,用于存储从数据库检索到的记录。在这个数据传输对象中,我需要声明一个数字字段。对于哪个更好-int或Integer如果我将字段定义为整数,如果我要从数据库中检索超过2000条记录,是否会因为“整数”类型而对性能产生任何影响!?提前致谢。 最佳答案 Integer是更好的选择,因为它可以处理null;对于int,如果使用了resultSet.getInt(..),null将默默地变为0。否则,它可能会抛出一些异常,例如“无法将null设置为原始属性”。这里的性能无关紧要。如果你选择int,你最终会添加额外的处

java - 使用哪一个,int 或 Integer

我需要创建一个数据传输对象,用于存储从数据库检索到的记录。在这个数据传输对象中,我需要声明一个数字字段。对于哪个更好-int或Integer如果我将字段定义为整数,如果我要从数据库中检索超过2000条记录,是否会因为“整数”类型而对性能产生任何影响!?提前致谢。 最佳答案 Integer是更好的选择,因为它可以处理null;对于int,如果使用了resultSet.getInt(..),null将默默地变为0。否则,它可能会抛出一些异常,例如“无法将null设置为原始属性”。这里的性能无关紧要。如果你选择int,你最终会添加额外的处