/** * ドメイン非依存URL出力フィルタ * javadrill.tech移行時はwp_options.home/siteurlのみ変更すればよい * * データベースには絶対URL(https://minner.asia)を保持し、 * 表示時に現在のドメイン(home_url())に動的変換する */ function javadrill_make_urls_dynamic($content) { if (empty($content)) { return $content; } // データベース内の絶対URLを現在のhome_url()に置換 $old_url = 'https://minner.asia'; $new_url = untrailingslashit(home_url()); // http版も対応(念のため) $content = str_replace($old_url, $new_url, $content); $content = str_replace('http://minner.asia', $new_url, $content); return $content; } // 投稿本文、ウィジェット、タームの説明、抜粋に適用 add_filter('the_content', 'javadrill_make_urls_dynamic', 20); add_filter('widget_text', 'javadrill_make_urls_dynamic', 20); add_filter('term_description', 'javadrill_make_urls_dynamic', 20); add_filter('get_the_excerpt', 'javadrill_make_urls_dynamic', 20); 008 メソッド (参照型の引数を持つメソッド)017 解答例 | Javaドリル

008 メソッド (参照型の引数を持つメソッド)017 解答例

008-017 008 メソッド
public class StringManipulator {
    public static String reverseString(String input) {
        // StringBuilder を使用して文字列を逆順に変更
        StringBuilder reversed = new StringBuilder(input);
        reversed.reverse();
        return reversed.toString();
    }

    public static void main(String[] args) {
        // メソッドの使用例
        String original = "Hello, Java!";
        String reversed = reverseString(original);
        System.out.println("Original: " + original);
        System.out.println("Reversed: " + reversed);
    }
}

この例では、reverseString メソッドが StringBuilder を使用して与えられた文字列を逆順に変更し、その結果を返しています。main メソッドでは、このメソッドを使用して文字列を逆順に変更しています。プログラムを実行すると、元の文字列と逆順に変更された文字列が表示されます。

参照渡しされた文字列の変更(はできない)

Javaにおいて文字列はイミュータブル(不変)であるため、メソッドに渡された文字列を直接変更することはできません。しかし、新しい文字列を生成してそれを返すことで、元の文字列を変更するような効果を得ることができます。

以下に、新しい文字列を生成して返す方法を具体的なコード例とともに解説します。

public class StringModifier {

    // 文字列にサフィックスを追加して新しい文字列を返すメソッド
    public static String addSuffix(String input, String suffix) {
        // 新しい文字列を生成して返す
        return input + suffix;
    }

    // 文字列を大文字に変換して新しい文字列を返すメソッド
    public static String capitalize(String input) {
        // 新しい文字列を生成して返す
        return input.toUpperCase();
    }

    public static void main(String[] args) {
        // 使用例
        String original = "example";
        String modified1 = addSuffix(original, "_suffix");
        String modified2 = capitalize(original);

        // 元の文字列は変更されず、新しい文字列が生成されている
        System.out.println("Original: " + original);
        System.out.println("Modified 1: " + modified1);
        System.out.println("Modified 2: " + modified2);
    }
}

この例では、addSuffix メソッドと capitalize メソッドが新しい文字列を生成して返すようになっています。呼び出し元で元の文字列が変更されないことが確認できます。

新しい文字列を生成することで、元の文字列を変更せずに処理を行うことができます。このアプローチは安全であり、イミュータブル性を維持する上で重要です。

「008 メソッド」問題集リスト

🎯 実習で理解を深めよう

この内容についてJavaDrillで実際に手を動かして学習できます

コメント

タイトルとURLをコピーしました