0

特殊文字を使用してJava属性名を宣言することは可能ですか?例:

private String var/name;
private int one+one;

この質問をするのは、1 つの列の名前が である DB からデータを取得する必要があるためですannoces/status。また、SQL クエリを使用する必要があります (hql や基準ではありません)。

4

3 に答える 3

3

それを行うことはできません:

変数名は大文字と小文字が区別されます。変数の名前は、文字、ドル記号「$」、またはアンダースコア文字「_」で始まるUnicode 文字と数字の無制限の長さのシーケンスである、任意の正当な識別子にすることができます。ただし、慣習として、変数名は常に「$」や「_」ではなく文字で始めます。さらに、慣例により、ドル記号文字はまったく使用されません。自動生成された名前にドル記号が含まれる場合がありますが、変数名には常にドル記号を使用しないようにする必要があります。アンダースコア文字にも同様の規則があります。変数の名前を「_」で始めることは技術的には合法ですが、この方法はお勧めできません。空白は使用できません。

なぜそれが必要なのかわかりません。

編集

bbr.sendQuery("Select Status, Name, Annonces/Sta AS annoncesSta , From table ",MyObject.class); のようなものを使用できます。ASを使用すると、結果で受け取る列の名前を変更できます。したがって、Java クラスの属性は「annoncesSta」にすることができます。

とにかく、「/」を含む列名を持つように配線されています。名前のベストプラクティスは次のとおりです。

  • アナウンスステーション
  • アナウンススタ

ほとんどのマッパーは、これらの名前を自動的に処理します。

于 2012-11-05T14:59:41.627 に答える
2

あなたが求めていることを行うことはできません-他の人が詳しく述べているように。私が提案する解決策は、データベース内の列名を整理して、通常の標準に従うようにし、Java で同じ名前を使用できるようにすることです。

通常の基準では、次のことを意味します。

alphanumeric characters or the following special characters: $ _ #
于 2012-11-05T15:24:39.630 に答える
2

一部のデータベースの一部のテーブルの列名と同じ名前を Java 変数に付ける必要はまったくありません。

列の値をいくつかのマップに格納しようとしている場合、マップ キーには任意の特殊文字を含めることができます。

于 2012-11-05T15:05:19.883 に答える