Stringメソッドについて

String型は基本型ではない。

Java.langパッケージに含まれるクラスのひとつ。 https://docs.oracle.com/javase/jp/8/docs/api/

// newを使っても生成できる
String hello = new String("こんにちは");

しかし、頻繁に使うのでnewを使わなくてもいいようになってる。

生成方法で参照元が違う

newインスタンスで生成すると以下のようになる。

String s1 = new String("こんにちは");
String s2 = new String("こんにちは");
System.out.println(s1 == s2);  // false

インスタンスを別々に生成しているので参照元が異なりfalseが表示されている。

いつもどおりに文字列を作ると以下のようになる。

String s1 = "こんにちは";
String s2 = "こんにちは";
System.out.println(s1 == s2);  // true

メモリの使用効率のためにも1つのインスタンスを参照している。

Stringのメソッド一覧は以下。 https://docs.oracle.com/javase/jp/9/docs/api/index.html?overview-summary.html

ちなみにJavaでの基本型(プリミティブ型)は以下である。 データ型|値 :-|:-: boolean|true or false char|16ビットUnicode文字 \u0000~\uFFFF byte|8ビット整数 -128~127 short|16ビット整数 -32768~32767 int|32ビット整数 -2147483648~2147483647 long|64ビット整数 -9223372036854775808~9223372036854775807 float|32ビット単精度浮動小数点数 double|64ビット倍精度浮動小数点数

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

最後に

まだまだ基本的なことも知らないので公式ドキュメントは特に見るようにしていく。