「java字符串赋值」java字符串赋值不了
本篇文章给大家谈谈java字符串赋值,以及java字符串赋值不了对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java中字符串数组如何赋值?
变量初始化,和变量赋值是两个不同的语法。
数组初始化时,可以为null,{value1,value2,value3,....},或者赋予另一个数组的值:String[]
b
=
a;
常量只能被初始化,一次,不能再次赋值;
非常量则可以进行赋值操作,赋值操作只能赋予以下情况:null,另一个数组的值。
lz的问题中,a={","}是一个初始化的语法,不是正确的赋值语法。
java字符串数组赋值给字符串
你要认真看下
password
是不是
String [] password=XXXX;
也就是说要看下password是不是字符串数组对象,并且对应的字符串对象是否是空。
pass是空,只能说明password相对应的那个字符串对象为空
你只放其中一段代码,不能看出真正的问题在哪,
另外
字符串对象判断内容是否相等 ==和用equals方法是不一样,很有可能是你条件不成立
==一般是用来比较引用的内存地址,而equals 才是比较内容
if(loadid==name[q])
不成立,当然pass也是空字符串
java字符串赋值
选BC
a是正确的,定义s并复制一个字符串字面量abcd
b是错误的,\0表示字符串的结束,如果不写,默认添加上,这段是正确的,但字符串不能用单引号,必须用双引号,因此也是错误的
c是错误的,\表示转义身后的字符,\a在java中不是转义字符,\n表示换行,\t表示一个制表符,\r表示回车等
d是正确的,正确定义s,但未初始化
java中字符串赋值问题
Java运行时会维护一个String
Pool(String池,
String常量池,
字符串缓冲区)
String池用来存放运行时中产生的各种字符串,并且池中的字符串的内容不重复。
而一般对象不存在这个缓冲池,并且创建的对象仅仅存在于方法的堆栈区
String
s
=
"accp";
创建s之前系统会先在"池子"中查找是否已经存在这个字符串,
如果存在则直接符号该字符串的句柄
如果不存在,
系统会创建一个新"accp"字符串,
并返回句柄,
以后再有"accp"被要求创建,
系统不会创建新的,而是直接返回已经存在的字符串的句柄
String
s
=
new
String("accp");
系统不会去"池子"中查找,
直接在内存中新开辟一块空间,
初始化为"accp",并返回句柄
JAVA中这两种给字符串变量赋值的方法有区别吗?
有区别。new出来的对象在堆内存中。
直接赋值的字符串在 常量池区
关于java字符串赋值和java字符串赋值不了的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2023-01-13,除非注明,否则均为
原创文章,转载请注明出处。