Daniel Dyer wrote:

> On Fri, 15 Sep 2006 16:42:08 +0100, Patricia Shanahan <(E-Mail Removed)> wrote:

>

>> Hendrik Maryns wrote:

>>> -----BEGIN PGP SIGNED MESSAGE-----

>>> Hash: SHA1

>>> gk schreef:

>>>> public int hashCode()

>>>>

>>>> Returns a hash code for this string. The hash code for a String

>>>> object is computed as

>>>>

>>>> s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]

>>>>

>>>>

>>>>

>>>> How this value is calculated ?

>>>>

>>>> say i have String s="abc"

>>>>

>>>> so ,

>>>>

>>>> s[0]= a

>>>> s[1]=b

>>>> s[2]=c

>>>>

>>>> but how do i get the power of a character ?

>>

>> The calculation does not call for any powers of characters, only powers

>> of 31. Exponentiation, which is what is meant in this context by "^",

>> has higher precedence than multiplication.

>>

>

> This isn't Pascal, so that's XOR, which has a lower precedence than

> multiplication.
You seem to have been confused by missing context. The quote is neither

Pascal, nor Java, nor any other programming language, but a mathematical

expression represented as text in the String hashCode documentation. In

context:

"Returns a hash code for this string. The hash code for a String object

is computed as

s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]

using int arithmetic, where s[i] is the ith character of the string, n

is the length of the string, and ^ indicates exponentiation. (The hash

value of the empty string is zero.)"

[

http://java.sun.com/j2se/1.5.0/docs/...ml#hashCode()]
Patricia