私はマルチプラットフォームアプリケーションで作業しており、データベースとWebバージョンを完成しました。 Webバージョンのコードをチェックするには、データベースからハッシュバージョンを取得し、その2つを比較します。java/kotlinにjavascriptハッシュ関数を複製
hashCode = function(s){
return s.split("").reduce(function(a,b){a=((a<<5)-a)+b.charCodeAt(0);return a&a},0);
}
は今、私は私のAndroidアプリで同じことを行う必要があるが、私は同じを出力する関数を作成する方法がわからない:私は(私はanother question上でこれを見つけた)ハッシュするこのJavaScriptコードを使用しますjavaまたはkotlin。誰もがこれを行う方法や他のクロスプラットフォームのバニラソリューションを知っていますか?
ありがとうございます。
編集: 私はkotlin/javaの新機能ですので、私はオンラインで見つけられるものと他の言語について知っているものだけを知っています。私はそれはまだエラーを与え、できるだけ多くのエラーを削除しようとしましたが、私は知らないいくつかのもの:
fun go (a: Int, b: String): Int {
var a = ((a shl 5) - a) + Character.codePointAt(b,0);
return a and a
} // this part doesn't give any errors now.
fun hashCode(s: String): String {
return s.split("").reduce(go(a,b)) // I don't know what to pass as parameters + reduce gives an error
}
これは確かにJavaで記述する簡単な方法です。何を試しましたか? (私たちを "私のコードを無料で書く"とは思わないでください!) –
@StephenCおそらく非常に悪いコードなので、私は持っているものを追加しませんでした。しかし、私は今それを追加しました。 –