Java 修改for循环中字符串的值

Java 修改for循环中字符串的值,java,string,Java,String,这听起来可能很傻,但我仍然想知道若我在for循环中指定字符串的值会发生什么。比方说 String name = " darsha" ; for ( i = 0 ; i < 10 ; i ++ ) { name = darsha ; } String name=“darsha”; 对于(i=0;i

这听起来可能很傻,但我仍然想知道若我在for循环中指定字符串的值会发生什么。比方说

 String name = " darsha" ;

 for ( i = 0 ; i < 10 ; i ++ )
{
     name = darsha ; 
}
String name=“darsha”;
对于(i=0;i<10;i++)
{
name=darsha;
}

内部会发生什么?字符串池中是否只有一个name实例或10个是,将只有一个
name
实例:


您的内部
名称也有错误。由于darsha是一个
字符串
值,因此应使用倒逗号进行更正<代码>名称=“darsha”

这将不必要地利用计算机的内存和cpu。 作为输出,以与name=“darsha”相同的格式发送到Rama 因此,不必要的内存浪费、cpu利用率7、java堆浪费,除此之外没有其他。 字符串名称=“darsha”

(i=0;i<10;i++)的

{
name=“darsha”;
}

您必须在循环中的“i”之前添加int,并且它应该是“darsha”,而不仅仅是darsha,如果您这样修改,最后的结果是name=“darsha”

只有1!也
name=darsha
错误,应该是
name=“darsha”它将抛出编译错误。因为darsha没有定义。它将darsha视为一个变量。正如您所说,
它很傻
。如果它应该是
“darsha”
,而不仅仅是
darsha
,那么池中就会有一个字符串。SSI此池在编译时生成后,它会注意到此文本存在两次,并使此文本在运行时使用池中的相同引用。此外,循环在
i
之前缺少
int
 for ( i = 0 ; i < 10 ; i ++ )
{
     name = "darsha" ; 
}