「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 項目 他の型の方が適している場合は文字列を避ける

項目 他の型の方が適している場合は文字列を避ける

2024 年 11 月 2 日に公開
ブラウズ:186

1.他のデータ型の代わりに文字列を使用することは避けてください:

文字列はテキストを表すように設計されていますが、数値、列挙型、または集合構造を表すために誤用されることがよくあります。
データが本質的に数値である場合は、String.
ではなく、int、float、BigInteger などの型を使用します。

String age = "30";  // incorreto
int age = 30;       // correto

2.文字列は列挙型の代替としては不十分です:

列挙値を表す文字列を使用するよりも、列挙型を使用する方が安全で読みやすくなります。

String status = "ACTIVE";  // incorreto
Status status = Status.ACTIVE;  // correto, usando enum

3.文字列は集計タイプの劣った代替品です:

複雑なデータを区切り文字で区切られた単一の文字列として表すと、エラーやメンテナンスの問題が発生する可能性があります。このデータにはクラスを作成することをお勧めします。

間違った例 (集計データを表す文字列の使用):

String personData = "John|Doe|30";

正しい例 (クラスの使用):

class Person {
    String firstName;
    String lastName;
    int age;

    // Construtor e métodos adequados
}

4.リソースの代替としての文字列 (例: スレッドのローカル変数):

文字列を使用してリソースをスレッドローカル変数として識別すると、セキュリティの問題や名前の衝突が発生する可能性があります。より安全なキーに置き換えます。

間違った例 (スレッド ローカル変数を識別するための文字列の使用):

Map threadLocalVariables = new HashMap();
threadLocalVariables.put("myVariable", value);

正しい例 (安全なキーの使用):

class Key {
    // implementação da chave
}

Map threadLocalVariables = new HashMap();
Key key = new Key();
threadLocalVariables.put(key, value);

ThreadLocal の正しい使用法:

スレッド ローカル変数の理想的な設計には、タイプセーフな方法で各スレッドに関連付けられた変数を作成できる ThreadLocal の使用が含まれます。

ThreadLocal の正しい使用例:

private static final ThreadLocal threadId = ThreadLocal.withInitial(() -> 0);

public static void main(String[] args) {
    System.out.println(threadId.get());  // obtem o valor da variável local da thread
}

結論:

あらゆるものに文字列を使用する誘惑を避けてください。より適切なデータ型を使用するか、新しい型を作成すると、エラーが防止され、可読性が向上し、コードがより効率的かつ安全になります。

本の例:

Item  Evite as strings onde outros tipos forem mais adequados

Item  Evite as strings onde outros tipos forem mais adequados

リリースステートメント この記事は次の場所に転載されています: https://dev.to/giselecoder/item-62-evite-as-strings-onde-outros-tipos-forem-mais-adequados-2o63?1 侵害がある場合は、study_golang にご連絡ください。 @163.com 削除
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3