2

私はこれに頭を悩ませることができません。

System.err.println(convertPdfToText(save).split("3\\.8").length);

予想どおり、3の結果が出力されます。

実際、私はユーザーが同じものを入手できるようにしたいと思っています。したがって、このコードを実行すると、次のようになります。

System.err.println(convertPdfToText(save).split(seperator).length);

ユーザーがJInputFieldに「3\\。8」と入力すると、返される配列の長さが1として返されます。

ここで何が起こっているのですか?

4

1 に答える 1

5

"\\"Javaプログラムでは、1つを含む文字列を表します\。あなたの場合、ユーザーは3\.8Javaコードで表される文字列を取得するために入力する必要があります"3\\.8"

\つまり、文字列リテラル(特に処理する)と"外部ソースから入力された文字列(すべての文字がそれ自体を表す)のJavaの構文の違いに混乱しているようです。

于 2012-11-25T01:21:39.633 に答える