首页 > 编程语言 >JavaSE——String

JavaSE——String

时间:2023-03-01 20:01:47浏览次数:56  
标签:abc String System println 字符串 new JavaSE

String类概述

String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。String 类在 java.lang 包下,所以使用的时候不需要导包

String类的特点

  • 字符串不可变,它们的值在创建后不能被更改

  • 虽然 String 的值是不可变的,但是它们可以被共享

  • 字符串效果上相当于字符数组( char[] ),但是底层原理是字节数组( byte[] )

创建字符串对象两种方式的区别

  • 通过构造方法创建

    通过 new 创建的字符串对象,每一次 new 都会申请一个内存空间,虽然内容相同,但是地址值不同

  • 直接赋值方式创建

    以“”方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM 都只会建立一个 String 对象,并在字符串池中维护


package com.zhao.stringdemo;

public class StringDemo {
    public static void main(String[] args) {
        //使用直接赋值的方式获取一个字符串对象
        String str1="abc";
        System.out.println(str1);//abc

        //使用new的方式获取一个字符串对象
        //空参构造:可以获取一个空白的字符串对象
        String str2=new String();
        System.out.println("@"+str2+"!");//@!

        //有参构造:传递一个字符串内容创建一个新的字符串对象
        String str3=new String("abc");
        System.out.println(str3);//abc

        System.out.println("===================");
        //传递一个字符数组,根据字符数组的内容再创建一个新的字符串对象
        //需求:修改字符串的内容abc——》Qbc
        //abc——>{'a','b','c'}-->{'Q','b','c'}-->Qbc
        char[] chars={'a','b','c'};
        chars[0]='Q';
        String str4=new String(chars);
        System.out.println(str4);

        //传递一个字节数组,根据字节数组的内容再创建一个新的字符串对象
        //应用场景:以后在网络中传输的数据其实都是字节信息
        //我们一般要把字节信息进行转换,转换成字符串
        byte[] bytes={97,98,99,100};
        String str5=new String(bytes);
        System.out.println(str5);


    }
}

标签:abc,String,System,println,字符串,new,JavaSE
From: https://www.cnblogs.com/javaHane/p/17169493.html

相关文章

  • string str = string.Empty也会出错?
    如题为什么会出现这种情况?大佬解释一下。......
  • 【InputStream】Java中InputStream和String之间的转换方法
    【转载】https://blog.csdn.net/lmy86263/article/details/60479350在Java中InputStream和String之间的转化十分普遍,本文主要是总结一下转换的各种方法,包括JDK原生提供的,......
  • redisTemplate String增删改查
    文章目录​​加锁​​​​expire​​​​获取值​​​​例子代码​​​​附录​​​​其他​​​​让锁过期,如何操作​​加锁@ResponseBody@RequestMapping("/lock")public......
  • (转)GoLang之标准库strings包
    原文:https://blog.csdn.net/weixin_52690231/article/details/123593614?ops_request_misc=&request_id=&biz_id=102&utm_term=golang%20strings%20%E5%8C%85%20%E8%AF%A6%......
  • (转)一文了解 Go 标准库 strings 常用函数和方法
    原文:https://blog.csdn.net/weixin_44604586/article/details/128104981?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYu......
  • 使用StringRedisTemplate实现redis分布式锁
    背景:单个接口可能同时被多个用户调用,但是每个用户使用的数据都是不一样,因此需要使用分布式锁解决数据减少了没有即使减少的问题使用的指令来自的edis的setnx命令,setnx(k,v......
  • 字符串中的slice(),substr(),substring()三种提取字符串的方法总结
    1、slice()slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。语法:str.slice(start,end),截取str从start到end的所有字符(包含起始位置,不包含结束位置)说明:st......
  • C++string大小写转换
    #include<iostream>#include<string>#include<algorithm>usingnamespacestd;intmain(){stringstr="ancdANDG";cout<<"转换前的字符串:"<<str......
  • JavaSE——构造方法
    packagecom.zhao.test3;publicclassStudent{privateStringname;privateintage;//如果我们自己没有写任何的构造方法//那么虚拟机会给我们......
  • JavaSE——this关键字
    this修饰的变量用于指代成员变量,其主要作用是(区分局部变量和成员变量的重名问题)方法的形参如果与成员变量同名,不带this修饰的变量指的是形参,而不是成员变量方法的......