【java基础】String字符串

有时候,不是因为你没有能力,也不是因为你缺少勇气,只是因为你付出的努力还太少,所以,成功便不会走向你。而你所需要做的,就是坚定你的梦想,你的目标,你的未来,然后以不达目的誓不罢休的那股劲,去付出你的努力,成功就会慢慢向你靠近。

导读:本篇文章讲解 【java基础】String字符串,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

基本介绍

从概念上来讲,java字符串就是Unicode字符序列,由多个字符构成。在java类库中提供了字符串类String,每个用双引号(“”)括起来的字符串都是String类的一个实例

字符串的一些基本操作

创建字符串

		String s = "hello world";

拼接字符串。对于字符串的拼接,我们使用+号就可以完成

		String s = "hello" + " " + "world";

获取字符串长度字 。符串.length()就可以获取到字符串长度(字符串长度就是字符的数量)

        String s = "hello";
        int length = s.length(); // 长度为5

字符串截取字串,我们使用字符串.subString(),传入2个参数,第一个是从什么位置开始,第二个是从什么位置结束,第二个参数是可选的,不传默认就是字符串长度

        String s = "hello";
        String substring = s.substring(0, 1); // 左闭右开原则,substring的值为 h

字符串比较,字符串比较不能使用==,要使用字符串.equals()来进行比较,传入要比较的字符串,相等就返回true

		String s1 = "hello";
		String s2 = "Hello";
        System.out.println(s1.equals(s2)); // 输出false

不可变字符串?&修改字符串

在java里面的String类,字符串的内容是不能修改的,所以也被称为不可变字符串。也确实是这样的,String并没有提供修改字符串的api,我们也不能修改字符串的内容,在String类里面,字符串的存储是使用的char[] 来进行存储的,修饰符是final。

在这里插入图片描述

那么,我们就真的不能修改字符串的内容了吗?当然是可以的,我们可以利用反射机制来对字符串的内容进行修改。下面的代码就会对字符串内容进行修改

    public static void test() throws NoSuchFieldException, IllegalAccessException {
        String s = "hello";
        System.out.println("修改前s=" + s + "---s的hashcode=" + s.hashCode());
        Field field = s.getClass().getDeclaredField("value");
        field.setAccessible(true);
        char[] value = (char[]) field.get(s);
        value[0] = 'H';
        value[2] = 'L';
        value[4] = 'O';
        System.out.println("修改后s=" + s + "---s的hashcode=" + s.hashCode());
    }

上面代码会将字符串的内容从hello修改到HeLlO,输出如下

修改前s=hello---s的hashcode=99162322
修改后s=HeLlO---s的hashcode=99162322

常见Api

字符串可以说是用的最多的一个类,基本所有方法都有使用到,建议都去熟悉一下。我们要查看字符串的所有方法,使用IDEA进入到String类,然后点击structure标签查看方法即可
在这里插入图片描述
我们根据方法上面的注释理解即可,都很简单

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/146261.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!