js实现java字符串的hashCode方法

java的int类型占4个字节。在计算字符串的hashcode时,可能会溢出。这种溢出属于正常情况。
在js中,所有数字都是以64位浮点数形式储存。其表示范围要远远超过java32位的int。某些运算只有整数才能完成,此时 js 会自动把64位浮点数,转成32位整数,然后再进行运算。

有什么用呢?

  • 更深入理解java字符串的hashCode方法
  • 理解数值计算的溢出处理
  • 连接js和java字符串处理

java字符串的hashCode方法

public int hashCode() {
        int h = this.hash;
        if (h == 0 && this.value.length > 0) {
            this.hash = h = this.isLatin1() ? StringLatin1.hashCode(this.value) : StringUTF16.hashCode(this.value);
        }

        return h;
    }

js实现字符串的hashCode方法


	
 
	
	
		
	

你可能感兴趣的:(java,数据结构和算法,javascript)