説明がcharと表示されたときに、なぜindexOfメソッドのパラメータがintであるのだろうと思います。string.indexOfメソッドのパラメータがJavaのintである理由
公共int型のindexOf(int型CH)
Returns the index within this string of the first occurrence of the specified **character**
http://download.oracle.com/javase/1,5.0/docs/api/java/lang/String.html#indexOf%28int%29
Also, both of these compiles fine:
char c = 'p';
str.indexOf(2147483647);
str.indexOf(c);
]基本的に、私は混乱していますが、ユニコード文字が16ビットである一方で、Javaのintは、32ビットです。
b] intを使用するのではなく、文字自体を使用しないでください。これはパフォーマンスの最適化ですか? charよりintを表現するのは難しいですか?どうやって ?
これは簡単な推論だと思っています。それで私はそれについてもっと知りました!
ありがとうございます!
答えはThnxです。さて、私はindexOf(int)がUnicodeコードポイントを期待しているのを見て、私の他の質問は..それはなぜですか? 。なぜ16ビット文字を使用しないのですか? – codeObserver
ユニコードのcharecterは実際には22ビットであり、16ではないので、java charには格納できない 'chars/letters'(コードポイント)があります。これは、Java文字列が2つの文字を使用して1つの 'コードポイント/文字'を格納する理由です(実際に知りたい場合は、utf-16の代理ペアを参照してください)。 – MTilsted