【Java】配列の length と String.length() の違いをやさしく解説|初心者がつまずくポイントを整理

Java入門・実践
スポンサーリンク
スポンサーリンク

はじめに

Java を学び始めると必ず出てくる疑問が
「配列は length、String は length() なのはなぜ?」 という話。

見た目は似ているのに、

  • 配列 → length(プロパティ)
  • String → length()(メソッド)

と書き方が違うため、初心者がつまずきやすいポイントです。

この記事では、やさしく・実務寄りに
配列の length と String.length() の違いを整理していきます。


結論:配列は「プロパティ」、String は「メソッド」

対象書き方種類意味
配列array.lengthフィールド(プロパティ)要素数
Stringstr.length()メソッド文字数

この違いを押さえるだけで一気に理解が深まります。


配列の length は「フィールド(変数)」

Java
int[] numbers = { 10, 20, 30 };
System.out.println(numbers.length); // 3

特徴

  • length変数(プロパティ)
  • 括弧がない
  • 値が固定(配列のサイズは変えられない)

なぜフィールドなのか?

配列は Java の 組み込みの構造 であり、
「要素数」という情報を そのまま持っている ため。


String.length() は「メソッド」

Java
String s = "Hello";
System.out.println(s.length()); // 5

特徴

  • length()メソッド
  • 括弧が必要
  • 実行時に文字数を計算して返す

なぜメソッドなのか?

String は クラス(オブジェクト) であり、
文字列の長さは内部データから計算して返すため。


実例で比較してみる

配列の場合

Java
int[] a = new int[5];
System.out.println(a.length); // 5

配列の長さは 固定
length はただの値。

String の場合

Java
String s = "Java";
System.out.println(s.length()); // 4

文字列の長さは 計算結果
length() はメソッド。


よくあるミスと注意点

ミス①:配列に length() を書いてしまう

Java
numbers.length(); // エラー

配列はフィールドなので括弧は不要。

ミス②:String に length を書いてしまう

Java
s.length; // エラー

String はメソッドなので括弧が必要。

ミス③:配列の length を変更しようとする

Java
numbers.length = 10; // エラー

配列は固定長。
サイズを変えたい場合は List を使う。


実務での使い分け

配列の length を使う場面

  • for 文でループするとき
  • 配列のサイズを確認したいとき
Java
for (int i = 0; i < arr.length; i++) { ... }

String.length() を使う場面

  • 入力文字数のチェック
  • バリデーション
  • 文字列処理全般
Java
if (name.length() > 20) { ... }

まとめ

配列

  • length(フィールド)
  • 括弧なし
  • 要素数をそのまま保持
  • サイズは固定

String

  • length()(メソッド)
  • 括弧あり
  • 文字数を計算して返す
  • null の場合は注意(ぬるぽ)

decopon
decopon

length と length() は、 「配列はプロパティ」「String はメソッド」 この違いを知るだけで一気に理解が深まります。Java Bronze の試験でも、実務のコードリーディングでも、 ここを押さえておくと安心して配列と文字列を扱えます。あなたの学びが、次のステップにつながりますように。

moco
moco

配列は“箱の数”、String は“文字の数”。
同じ length でも、実は別物なんだよ。

コメント

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