java面试题good and gbc
面试中碰到一个题
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';}
}
根据映像 回来上网查到 然后运行 结果输入good and gbc 和我预想的不同
觉得原因是 string源码里写的 Multiple strings can share the same char[] because strings are immutable
String是不可变的
请教了大神得知 change()方法里面 str 的引用只是指向了 "test ok" 这个字符串
并没有改变"good"这个字符串
就是说 :
字符串 "good"是一个不变的字符串 ;
change()里面的str是另一个复制的字符串
当执行change(String str )方法的时候 在change内部重新创建了"text ok字符串"
然后改变了 str的指向 并且只能在change方法内可用 并没有改变原有的"good"字符串
所以输出了 good and gbc
如果我总结的不对 希望大神指出一下
祝大家编程每日精进
java面试题good and gbc相关推荐
- 精选30道Java笔试题解答
精选30道Java笔试题解答 都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底,老手们就不用进 ...
- java面试题:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
java面试题:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答:是值传递.Java编程语言只有值传递参数. 当一个对象实 ...
- Java笔试题解答和部分面试题
面试类 银行类的问题 问题一:在多线程环境中使用HashMap会有什么问题?在什么情况下使用get()方法会产生无限循环? HashMap本身没有什么问题,有没有问题取决于你是如何使用它的.比如,你 ...
- 收集非常经典的Java面试题
15道非常经典的Java面试题 (一)选择题(每题5分) (1)下面程序的运行结果是:() String str1 = "hello";String str2 = "he ...
- java 实体类包含list 怎么取值_2019 最新 500 道 Java 面试题
2015 年,因为工作岗位的变动,开始负责给集团招聘一些技术人员,出于对公司的负责,也为了更好的胜任技术经理的职位,在面试的这件事上,我做了大量的"功课",首先我研究了几乎所有大厂 ...
- Java面试题总结-Day4
<?xml version="1.0" encoding="utf-8"?> Java面试题总结-Day4 Java面试题总结-Day4 Table ...
- 用友公司Java面试题(含答案)
为什么80%的码农都做不了架构师?>>> 用友公司Java面试题(含答案) 1.Hashtable和HashMap有什么区别? a.Hashtable是继承自陈旧的Dict ...
- java面试题2019 答案
Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别(String 类型和 StringBuffer 类型的主要性能区别其实在于 Stri ...
- Java类加载机制详解【java面试题】
Java类加载机制详解[java面试题] (1)问题分析: Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数 ...
最新文章
- php 删除硬链接,RHCE系列之文件管理----硬链接和软链接
- 系列笔记 | 深度学习连载(2):梯度下降
- 使用Java客户端操作elasticsearch--设置mappings、添加文档、查询数据
- synchronized 异常_由浅入深,Java 并发编程中的 Synchronized
- springcloud 使用git作为配置中心
- 软件项目确立的几个步骤
- Chrome 无法正常打开站点
- 初中三年级数学可以用计算机吗,不到3分钟,这份初中数学攻略被家长和学生疯狂转发!太实用了!...
- 5G手机占比逼近四成,华为和小米将加速5G普及
- (Python)五子棋
- 联想微型计算机怎么进入bios,联想怎么进入bios图文教程
- STM8电源模式管理及功耗控制
- Day1—图片动态过渡
- 盗取QQ密码的顽固的IEXPLORE.EXE病毒
- HTTP各版本号的区别
- 实施微前端的六种方式
- android 9华为p20,华为P20PRO升级EMUI9.0(安卓9.0)的一些感受
- 【推荐】ubuntu中经常使用的几款不错的小工具
- 联盟新消息对淘客带来哪些影响
- 防饿了么java源码_饿了么点餐源码、今日头条源码 等