Java中String类的特点以及常用的方法

字符串类String
一.两种实例化方式以及区别
     1.直接赋值 String 变量 = "字符串";
     直接赋值就是讲一个字符串的匿名对象设置了一个名字。String 变量 = 字符串常量(匿名对象)
String stra = "hello";
String strb = "hello";
String strc = "hello";
发现以上所有采用直接赋值的String类对象的内存地址完全指向了同一个内存空间。

共享设计模式: 
    在JVM的底层实际上会存在一个对象池(不一定只保存String对象),当代码之中使用
   了直接赋值定义了一个String对象,会将此字符串对象所使用的匿名对象入池保存,而
   后如果后续还有其他的对象也采用直接赋值的方式,并且设置了同样内容的时候,那么将
   不会开辟新的堆内存空间,而是使用已有对象进行引用的分配。

       2.构造方法String stra = new String(“hello”);
    通过分析,如果使用的是构造方法的方式进行String类对象实例化的开辟了两块堆内存
   空间(其中一块堆内存空间将成为垃圾空间).
    除了内存的浪费之外,如果使用了构造方法定义的String类对象,其内容不会入对象池,
   因为是new开辟的新的内存。
    
      public String intern();//intern()方法
     //使用构造方法定义了新的内存,而后入池。
    String stra = new String("hello").intern();//手工入池
    String strb = "hello";
    System.out.println(stra == strb);//true,==判断对象指向的堆内存地址是否一致。

    字符串一旦定义则不可改变,所谓字符串的内容实际上根本就没有改变(Java本身规定字符串不可改变)
   对于字符串对象内容的改变,是利用了引用关系的变化而实现的,而每一次的变化都会产生垃圾空间。
   String的内容不要过多频繁修改。




  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java常用系统常用的包主要有以下几个: 1. java.lang包:这是Java最基础的包,其包含了Java语言的核心,如Object、String、Thread、Math等。这些Java程序经常被使用,因此无需导入该包,就可以直接使用其。 2. java.util包:这是Java常用的工具包,其包含了一些常用的工具,如ArrayList、LinkedList、HashMap、Hashtable等。这些可以帮助我们更方便地管理数据和集合。 3. java.io包:这是Java用于文件和输入输出的包,其包含了一些常用的输入输出,如File、FileReader、FileWriter、BufferedReader等。这些可以帮助我们读取和写入文件,进行输入输出操作。 4. java.net包:这是Java用于网络编程的包,其包含了一些常用的网络编程,如Socket、ServerSocket、URL、URLConnection等。这些可以帮助我们进行网络连接和通信。 Java常用系统特点主要有以下几个: 1. Java常用系统都是Java语言自带的库,无需额外下载或安装,可以直接在Java程序使用。 2. Java常用系统提供了丰富的功能和方法,可以帮助我们更方便地进行数据处理、文件操作、网络通信等。 3. Java常用系统的使用方法相对简单,可以通过直接创建对象或调用静态方法来使用,无需复杂的配置和初始化。 4. Java常用系统的文档和使用说明相对完善,可以通过Java官方文档或在线文档来查看的使用方法和参数说明。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值