【Java基礎】サッと理解!文字列・配列の長さをlengthで取得する(よく使うサンプルコード付き)
  • facebookページ
  • twitterページ
  • 2019.12.27

    【Java基礎】サッと理解!文字列・配列の長さをlengthで取得する(よく使うサンプルコード付き)

    Javaで文字列の長さや、配列の長さ(要素数)を取得する時に使用する、String.length()およびArray.length。

    この記事では、開発の現場でもよく使う、この2つを解説します。

    文字列の長さを取得する

    まず、文字列(String)の長さを取得する、String.length()メソッドの使い方を解説します。

    String.length()は、例えば文字数の長さをチェックする時になどに使用します。

    String.length()メソッドで文字数を取得

    String.length()メソッドの使い方は簡単で、使い方は以下の通りです。

    メソッドの戻り値には、int型の数値で文字数が返ります。

    では、実際に動作するサンプルコードを作成してみましょう。

    以下のサンプルコードでは、文字列が格納されたString型の変数から、length()メソッドで文字数を取得し、結果をコンソールに出力しています。

    文字数とバイト数の違い

    文字列を扱う場合、文字数とバイト数の違いを知っておく必要があります。

    文字数は、String.length()で取得てきる値で、半角・全角関係なく1文字を1とカウントします。

    それに対し、文字列をハードディスクや、データベースに格納する時のデータ量を表すのが「バイト数」です。バイト数は半角・全角の違いや、文字コードによって、同じ文字数でもバイト数が異なります。

    以下は、「ハローJava」という文字列に対し、文字数と「Shift-JIS」および「UTF8」での文字コードでバイト数を求めるサンプルコードです。

    【実行結果】

    Shift-JISでは全角文字が2バイト、UTF-8では3バイトになる為、同じ文字でも上の実行結果のように、バイト数が異なります。

    改行も文字数に含まれる

    String.length()で文字数を取得する時、文字列に改行が含まれていると、改行もコードも1文字としてカウントされます。

    便利なサンプルコード

    文字数を1文字ずつ取り出す

    文字列の中から1文字ずつ取り出し、コンソールに出力するサンプルコードです。

    マルチバイト(全角)文字を含むかチェック

    文字列の中に、マルチバイト(全角)文字が含まれるか簡単にチェックする方法を紹介します。

    Shift-JISは、マルチバイト(全角)文字が2バイトになるため、文字数とバイト数を比較して、異なっていればマルチバイト(全角)文字が含まれていると判定できます。(下記、checkZenkaku()メソッド)

    【関連記事】
    JavaのtoStringメソッドとは?便利な使い方を解説!

    配列の長さ(要素数)を取得する

    続いてら配列の長さを取得する方法を解説します。配列の長さ(要素数)は、Array.lengthフィールドから取得できます。

    以下のサンプルコードは、int型の配列を作成して、その要素数をコンソールに出力する例です。

    便利なサンプルコード

    Array.lengthフィールドを使用する便利なサンプルコードを紹介します。

    配列の要素を1コずつ取り出す

    lengthフィールドで取得した要素分、for文で繰り返し処理する、基本の配列処理です。

    別の配列に要素をコピーする

    コピー元の配列の各要素を、別の配列に一括でコピーする方法です。覚えておくと、配列を1コずつコピーするよりも、圧倒的にシンブルなコードで書けます。

    Listの長さを取得する方法

    配列とは別に、Javaで複数の要素を持てるクラスとしてList型があります。

    List型の長さを取得する時は、以下のサンプルコードのように、size()メソッドを使用します。

    ポテパンダの一言メモ

    List型には配列のようなlengthフィールドはありません。

    【関連記事】
    【Java入門】ArrayListの使い方!配列との違いも解説

    まとめ

    Javaで文字列の長さを取得するString.length()と、配列の長さ(要素数)を取得するArray.lengthについて解説してきました。

    よく使う処理なので覚えておいて損はないでしょう。

    【関連記事】
    【Java】ゼロから始めるJavaプログラミング!



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE