SonarQube(Sonar)+ EclipseLink:誤ったエラー '==または!=を使用した文字列パラメーターの比較'

user969039

EclipseLinkJPAを使用して次のクラスがあります。

package my.package;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Version;

import my.package.api.Address;

@Entity(name = "Address")
@SequenceGenerator(name = "sequence", sequenceName = "seq_address")
public class AddressJpaEntity implements Address {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequence")
    private Long id;
    @Version
    private Long version;
    private String street;

    public AddressJpaEntity() {
    }

    public AddressJpaEntity(String street) {
        this.street = street;
    }

    @Override
    public Long getId() {
        return id;
    }

    public Long getVersion() {
        return version;
    }

    public void setVersion(Long version) {
        this.version = version;
    }

    @Override
    public String getStreet() {
        return street;
    }

    @Override
    public void setStreet(String street) {
        this.street = street;
    }

}

SonarQubeを実行すると、次の(誤った)エラーが多数発生します。

悪い習慣-==または!=を使用した文字列パラメータの比較

このコードは、==または!=演算子を使用して、参照が等しいかどうかjava.lang.Stringパラメーターを比較します。呼び出し元に文字列定数またはインターン文字列のみをメソッドに渡すように要求することは、不必要に脆弱であり、測定可能なパフォーマンスの向上につながることはめったにありません。代わりにequals(Object)メソッドの使用を検討してください。

findbugs | ES_COMPARING_PARAMETER_STRING_WITH_EQ my.package.AddressJpaEntity._persistence_set(String、Object)で==または!=を使用した文字列パラメーターの比較

今のところ、問題を誤検知として設定することで解決しましたが、将来的には同様のクラスを追加する予定であり、毎回これを実行したくありません。

常に「Falsepositive」を使用せずに、Sonarがこれらのエラーをマークしないようにするにはどうすればよいですか?

mrjink

解決策については、この投稿確認しくださいFindBugsの除外フィルターを作成する方法を示しています。

この場合、ES_COMPARING_PARAMETER_STRING_WITH_EQ警告は無視する必要があります。

==を使用するのはまだ間違っていると思いますが、どうやらそれはあなたが助けることができるものではないようです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Sonar.BranchパラメーターがSonarQube5.0でエラーをスローしています

分類Dev

SonarQube6.0でsonar-activedirectory1.0を使用中にエラーが発生しました

分類Dev

SONAR:文字列パラメーターを使用したメソッド参照を使用してラムダに置き換えます

分類Dev

SonarQube:sonar.exclusionsパラメーターはフォルダーを除外できません

分類Dev

SonarQube + Maven + JaCoCo + GitLab CI:SonarQube 7.9.2にアップグレードした後、Sonarは0%のコードカバレッジを示し始めました

分類Dev

SonarQube言語sonar.lang.patternsエラー

分類Dev

文字列パラメータを使用したmax()の動作?

分類Dev

誤ったクエリパラメータを示すSwagger

分類Dev

Scalaの誤った前方参照エラー

分類Dev

Visual StudioのPython:誤ったエラー

分類Dev

クエリ文字列のパラメータでjQueryajaxを使用したHTTPDELETE

分類Dev

sonar.QualitygateはSonarQube5.3で非推奨になりました。代替手段は何ですか?

分類Dev

文字列パラメータを使用したSwiftアサート

分類Dev

文字列パラメータを使用したHttpClientGETメソッド

分類Dev

SonarQube-integrationTest.exec-sonarRunner(Gradle)または「sonar-runner」コマンド-0.0%のカバレッジを表示

分類Dev

Retrofitは、Map <String:Any>から誤ったGETリクエストパラメータを生成します

分類Dev

間違ったWord()文字列は、誤解を招くエラーの場所を示します

分類Dev

RSAは誤ったパラメータを復号化します

分類Dev

パラメータ化されたSQLクエリの誤った構文

分類Dev

PHP http_build_query()は、配列getパラメーターに対して誤ったURLを生成します

分類Dev

誤った割り当てエラー

分類Dev

SonarQube Eclipseプラグイン3.4接続がタイムアウトしたため、Sonarサーバーにアクセスできません

分類Dev

Delphi:SQL集計関数を使用したAdoQueryでの誤ったパラメータメッセージエラー

分類Dev

誤った文字列値のMySQLエラーを解決する方法は?

分類Dev

文字列パラメーターを使用したASP.NETODBCクエリ

分類Dev

whereJsonContainsを使用して、パラメーターを文字列の配列と比較します

分類Dev

node-postgresの文字列リテラルを使用したパラメータ化されたクエリ

分類Dev

リクエストを使用したPythonのクエリ文字列配列パラメーター

分類Dev

.htaccessを使用したクエリパラメータの挿入または更新

Related 関連記事

  1. 1

    Sonar.BranchパラメーターがSonarQube5.0でエラーをスローしています

  2. 2

    SonarQube6.0でsonar-activedirectory1.0を使用中にエラーが発生しました

  3. 3

    SONAR:文字列パラメーターを使用したメソッド参照を使用してラムダに置き換えます

  4. 4

    SonarQube:sonar.exclusionsパラメーターはフォルダーを除外できません

  5. 5

    SonarQube + Maven + JaCoCo + GitLab CI:SonarQube 7.9.2にアップグレードした後、Sonarは0%のコードカバレッジを示し始めました

  6. 6

    SonarQube言語sonar.lang.patternsエラー

  7. 7

    文字列パラメータを使用したmax()の動作?

  8. 8

    誤ったクエリパラメータを示すSwagger

  9. 9

    Scalaの誤った前方参照エラー

  10. 10

    Visual StudioのPython:誤ったエラー

  11. 11

    クエリ文字列のパラメータでjQueryajaxを使用したHTTPDELETE

  12. 12

    sonar.QualitygateはSonarQube5.3で非推奨になりました。代替手段は何ですか?

  13. 13

    文字列パラメータを使用したSwiftアサート

  14. 14

    文字列パラメータを使用したHttpClientGETメソッド

  15. 15

    SonarQube-integrationTest.exec-sonarRunner(Gradle)または「sonar-runner」コマンド-0.0%のカバレッジを表示

  16. 16

    Retrofitは、Map <String:Any>から誤ったGETリクエストパラメータを生成します

  17. 17

    間違ったWord()文字列は、誤解を招くエラーの場所を示します

  18. 18

    RSAは誤ったパラメータを復号化します

  19. 19

    パラメータ化されたSQLクエリの誤った構文

  20. 20

    PHP http_build_query()は、配列getパラメーターに対して誤ったURLを生成します

  21. 21

    誤った割り当てエラー

  22. 22

    SonarQube Eclipseプラグイン3.4接続がタイムアウトしたため、Sonarサーバーにアクセスできません

  23. 23

    Delphi:SQL集計関数を使用したAdoQueryでの誤ったパラメータメッセージエラー

  24. 24

    誤った文字列値のMySQLエラーを解決する方法は?

  25. 25

    文字列パラメーターを使用したASP.NETODBCクエリ

  26. 26

    whereJsonContainsを使用して、パラメーターを文字列の配列と比較します

  27. 27

    node-postgresの文字列リテラルを使用したパラメータ化されたクエリ

  28. 28

    リクエストを使用したPythonのクエリ文字列配列パラメーター

  29. 29

    .htaccessを使用したクエリパラメータの挿入または更新

ホットタグ

アーカイブ