Pengenalan kepada penugasan pembolehubah jenis String dalam pengetahuan Java_Basic

WBOY
Lepaskan: 2016-05-16 15:08:18
asal
1756 orang telah melayarinya

Jalankan kod berikut, apakah hasilnya?

package com.test;

public class Example {
  
  String str = new String("good");
  char[] ch = { 'a', 'b', 'c' };

  public static void main(String[] args) {
    Example ex = new Example();
    ex.change(ex.str, ex.ch);
    System.out.println(ex.str);
    System.out.println(ex.ch);
  }

  public void change(String str, char ch[]) {
    str = "test ok";
    ch[0] = 'g';
  }
  
}
Salin selepas log masuk

Keputusan adalah seperti berikut:

good
gbc
Salin selepas log masuk

Ulasan:

String dalam Java tidak boleh diubah, iaitu, tidak boleh diubah Setelah dimulakan, kandungan yang ditunjukkan oleh rujukannya adalah tidak boleh diubah (nota: kandungan tidak boleh diubah).

Dalam erti kata lain, dengan mengandaikan bahawa terdapat String str = "aa"; str = "bb"; space. Digunakan untuk menyimpan "bb" pada masa yang sama, kerana "aa" yang pada asalnya ditunjuk sekarang tidak dapat dicapai, jvm akan mengitar semula secara automatik melalui GC.

Apabila memanggil kaedah, jenis String dan tatasusunan dihantar melalui rujukan Dalam kod di atas, str dihantar sebagai parameter kepada kaedah perubahan(String str, char ch[]) Parameter kaedah str menunjuk ke rentetan oleh str dalam kelas, tetapi str = "ujian ok"; pernyataan menjadikan parameter kaedah str menunjuk ke alamat yang baru diperuntukkan, yang menyimpan "ujian ok", manakala str asal masih menunjuk kepada "baik". Untuk tatasusunan, dalam kaedah perubahan, parameter kaedah ch menunjuk kepada tatasusunan yang ditunjuk oleh ch dalam kelas, dan pernyataan ch[0] = 'g' mengubah kandungan tatasusunan yang ditunjuk oleh ch dalam kelas

Mari kita lihat semula kod berikut.

package com.test;

public class Example {
  
  String str = new String("good");
  char[] ch = { 'a', 'b', 'c' };

  public static void main(String[] args) {
    Example ex = new Example();
    ex.change(ex.str, ex.ch);
    System.out.println(ex.str);
    System.out.println(ex.ch);
  }

  public void change(String str, char ch[]) {
    str = str.toUpperCase();
    ch = new char[]{ 'm', 'n' };
  }
  
}
Salin selepas log masuk

Keputusannya adalah seperti berikut:

good
abc
Salin selepas log masuk

Dengan penjelasan sebelum ini, adakah keputusan ini dijangkakan? !

Pengenalan di atas kepada penugasan pembolehubah jenis String dalam Java adalah semua kandungan yang dikongsi oleh editor saya harap ia dapat memberi anda rujukan, dan saya harap anda akan menyokong Script Home.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!