创建实例的方式声明字符串,会在新建一个实例进行赋值,数组或者直接赋值字符串,则会修改内存中原有的对象
来源:互联网 发布:淘宝店铺授权怎么弄 编辑:程序博客网 时间:2024/06/05 01:55
指出下列程序运行的结果 ()
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.print(ex.str + " and "); System.out.print(ex.ch);}public void change(String str, char ch[]) { str = "test ok"; ch[0] = 'g';}
}
A、 good and abc
B、 good and gbc
C、 test ok and abc
D、 test ok and gbc
解析: B
1、常量str 与 ch 分别使用创建实例方式和数组方式声明字符串。
两者区别:创建实例的方式声明字符串,会在内存中新建一个实例进行赋值。数组或者直接赋值字符串,则会修改内存中原有的对象。
如下伪代码所示:
string a=“abc” , b=“abc” ;
在比较字符串 a、 b 时,a 等于 b 。
而 string a=new string(“abc”);
string b=new string(“abc”) ;
再比较字符串 a 和 b, 则 a 不等于 b 。
2、再是change 方法没有返回值,是void修饰。所以对 ch 的修改影响到了全局变量 ch,对str 的修改仅仅是修改了chenge方法中创建的 str 同名的局部变量。
最后 输出 为 答案 B项。
阅读全文
0 0
- 创建实例的方式声明字符串,会在新建一个实例进行赋值,数组或者直接赋值字符串,则会修改内存中原有的对象
- 直接赋值与从键盘输入两种方式进行hello与word两个字符串的连接
- 字符串字符数组的赋值
- 数组方式赋值字符串及字面值常量赋值字符串的区别
- 把一个字符串赋值给一个数组
- 成员变量(也叫实例变量)若不明确赋值,会自带一个默认值。
- 字符串数组/字符串指针的赋值
- 字符串的赋值和字符串数组
- 在类内部创建对象时,才会只有外部类的引用,赋值是不会的
- 字符串赋值方式
- 给字符串数组赋值:
- 关于java对象复制clone 给一个对象赋值 会随原来的对象变化
- 在PB中如何使用一个字符串给一个字符串数组赋值
- 安卓按键 :数组之间的赋值 如果修改任意一个数组 会导致其他数组的值也会发生变化的问题
- 《c和指针》3.1.3 二 、字符串常量 :不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组赋值
- 把string字符串与json字符串赋值到已有的一个对象。比较适用于拿到一个json,其中对应一个对象
- C++中要将字符串存入数组中时不能直接赋值
- 实例变量的初始化,构造器在new - 创建实例对象的时候,才会调用执行
- 计算整数n阶矩阵的主/副对角线元素之和并输出
- grid布局
- 全局唯一订单号生成方法(参考snowflake)
- 小白学习《局域网》课程的课堂笔记系列(二):Trunk链路
- win10下 anaconda安装tensorflow,pycharm环境配置(gpu版)
- 创建实例的方式声明字符串,会在新建一个实例进行赋值,数组或者直接赋值字符串,则会修改内存中原有的对象
- [leetode] 122. Best Time to Buy and Sell Stock II
- dubbo参数调优说明
- Jsp总结
- 一 冒泡排序
- py的基本数据类型 12.13
- MQ,互联网架构解耦神器
- 不浮躁,专心搞架构,写技术
- 淘淘商城笔记