小编200*_*0OK的帖子

为什么java hashcode 实现31 * x + y 比x + y 好?

我对关于哪种哈希码实现更好的 Java 面试问题感到困惑。我们有一个类 Point {int x, y; }. 为什么这个类的 hashcode 31 * x + y 的实现比 x + y 好?正确的答案是“乘数创建了哈希码值对字段处理顺序的依赖,这最终会产生更好的哈希函数”。但我不明白为什么处理的顺序是这里的重点,因为当我执行 point1.equals(point2); 时,整个表达式 31 * x + y 正在计算;并且无论它以何种顺序发生。我错了吗?

java hashcode

8
推荐指数
2
解决办法
241
查看次数

setState不更新字体真棒图标

我正在尝试在自己编写的复选框组件中动态呈现字体超赞图标。当我尝试在点击后用字体真棒图标更新状态时,它没有更新。我试图将渲染移到单独的功能,并尝试使用react-fontawesome,但没有任何帮助。状态正在更新,但超棒的字体图标与html中的svg代码相同。

...
state = {
 checked: this.props.checked
}

toggleCheck = () => {
  this.setState({ checked: !this.state.checked });  
};

render () {

  const iconUnchecked = 'far fa-square';
  const iconChecked = 'fas fa-check-square';
  const iconClass = this.state.checked ? iconChecked : iconUnchecked;

  return (
    <span onClick={this.toggleCheck}>
      <i className={iconClass} />
    </span>
  );
}
Run Code Online (Sandbox Code Playgroud)

setstate font-awesome reactjs

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

标签 统计

font-awesome ×1

hashcode ×1

java ×1

reactjs ×1

setstate ×1