您身边的网站建设专家
成功案例

【建站服务】高端!网站定制/设计/优化/二次开发/制作/搭建-临朐高端网站建设-域名申请

日期: 2022-09-21 05:23:04 浏览数:4


上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


高端!网站定制/设计/优化/二次开发/制作/搭建-临朐高端网站建设

网站建设.png

  1. 解析:

    String str1 = "hello world"; 和 String str3 = "hello world"; 都在编译期间生成了字面常量和符号引用,运行期间字面常量 "hello world" 被存储在运行时常量池(当然只保存了一份)。通过这种方式来将 String 对象跟引用绑定的话,JVM 执行引擎会先在运行时常量池查找是否存在相同的字面常量,如果存在,则直接将引用指向已经存在的字面常量;否则在运行时常量池开辟一个空间来存储该字面常量,并将引用指向该字面常量。 

     

    众所周知,通过 new 关键字来生成对象是在堆区进行的,而在堆区进行对象生成的过程是不会去检测该对象是否已经存在的。因此通过 new 来创建对象,创建出的一定是不同的对象,即使字符串的内容是相同的。

    阿颖

       阿颖

      553***793@qq.com

    4年前 (2018-08-13)
  2.    GritHub

      147***6963@qq.com

    42

    String 类中 concat() 方法和 + 号的区别:

    pubic class Demo{
        pulic satic void main(String[] args){
            String str1 = "a".concat("b").concat("c");
            String str2 = "a"+"b"+"c";
            String str3 = "abc";
            String str4 = new String("abc");
            System.out.println(str1 == str2); //运行结果为false
            System.out.println(str1 == str3); //运行结果为false
            System.out.println(str2 == str3); //运行结果为ture
            System.out.println(str2 == str4); //运行结果为false
            System.out.println(str1.equals(str4)); //运行结果为true
        }}

    执行结果为:

    falsefalsetruefalsetrue

    解析:

    首先关于 new 出来的对象和 String s = "字符串" 的 == 执行结果为 false 就不多赘述了,因为 == 比较的是两个对象的地址值,equals() 比较的是字面值。那么 concat 方法和 + 号的区别在这里有体现了,我们查看concat方法的源码可以看到,它是通过复制数组在通过 char 数组进行拼接生成一个新的对象,所以地址值会有变动,而 + 号不会。(作者很菜,初来乍到,前辈多包涵)

    GritHub

       GritHub

      147***6963@qq.com

    2年前 (2020-11-27)


上实例编译运行结果如下:


Runoob..

Runoob..!

Runoob..Java!

RunooJava!

然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。


Test.java 文件代码:

public class Test{

  public static void main(String args[]){

    StringBuffer sBuffer = new StringBuffer("菜鸟教程官网:");

    sBuffer.append("www");

    sBuffer.append(".runoob");

    sBuffer.append(".com");

    System.out.println(sBuffer);  

  }

}

以上实例编译运行结果如下:


菜鸟教程官网:www.runoob.com

StringBuffer 方法

以下是 StringBuffer 类支持的主要方法:


序号 方法描述

1 public StringBuffer append(String s)

将指定的字符串追加到此字符序列。

2 public StringBuffer reverse()

 将此字符序列用其反转形式取代。

3 public delete(int start, int end)

移除此序列的子字符串中的字符。

4 public insert(int offset, int i)

将 int 参数的字符串表示形式插入此序列中。

5 insert(int offset, String str)

将 str 参数的字符串插入此序列中。

6 replace(int start, int end, String str)

使用给定 String 中的字符替换此序列的子字符串中的字符。

以下列表列出了 StringBuffer 类的其他常用方法:


序号 方法描述

1 int capacity()

返回当前容量。

2 char charAt(int index)

返回此序列中指定索引处的 char 值。

3 void ensureCapacity(int minimumCapacity)

确保容量至少等于指定的最小值。

4 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

将字符从此序列复制到目标字符数组 dst。

5 int indexOf(String str)

返回第一次出现的指定子字符串在该字符串中的索引。

6 int indexOf(String str, int fromIndex)

从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。

7 int lastIndexOf(String str)

返回最右边出现的指定子字符串在此字符串中的索引。

8 int lastIndexOf(String str, int fromIndex)

返回 String 对象中子字符串最后出现的位置。

9 int length()


高端!网站定制/设计/优化/二次开发/制作/搭建-临朐高端网站建设


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


全国咨询热线:400-111-6878

地址:全国各地都有驻点商务

Copyright © 2021 通陆科技

网站建设上往建站