小编Jai*_*Das的帖子

在此过程中创建的String对象总数?

String str1="JAVA";
String str2="JAVA";
String str3=new String("JAVA");
String str4=new String("JAVA").intern();
Run Code Online (Sandbox Code Playgroud)

将创建2个对象.str1并且str2因为String文字池概念而引用同一个对象并str3指向新对象,因为使用new运算符并str4指向同一个对象,str1并且str2因为intern()方法将字符串池检查到具有相同值的字符串.

str1=str2=str3=str4=null;
Run Code Online (Sandbox Code Playgroud)

一个对象将有资格获得GC.这是通过创建的对象String str3=new String("JAVA").始终可以通过存储在字符串文字池中的引用访问第一个String对象.

我的解释是否正确?

java string object

7
推荐指数
1
解决办法
265
查看次数

为什么允许在接口内声明静态类?

public interface I1
{
static class Test{}
}
Run Code Online (Sandbox Code Playgroud)

为什么Java允许用Interface编写类?

在接口中编写静态类是个好主意吗?我们可以有效使用它的任何例子吗?

java oop static

6
推荐指数
0
解决办法
197
查看次数

传递String str = null时输出为null

public class StringTest
{
    public static void main(String... args)
    {
        String str=null;
        System.out.println(str);
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么这段代码显示为null?当我们将引用变量传递给println()方法时,它将调用toString()方法.对于String类,toString()方法将调用返回当前对象.String str=null表示没有对象存在.

java

2
推荐指数
1
解决办法
1361
查看次数

字符串概念的困惑

class StringTest1
{
public static final void main(String... a)
{
    String str1="JAVA";
    String str2="WORLD";

    String str3=str1+str2;
}
}
Run Code Online (Sandbox Code Playgroud)

在此过程中将创建多少个对象?我想会创建3个对象.

class StringTest2
{
public static final void main(String... a)
{

    String strTest="JAVA"+"WORLD";
}
}
Run Code Online (Sandbox Code Playgroud)

在此过程中将创建多少个对象?可以访问多少个对象?有人告诉我"JAVA"+"WORLD"是一个表达式,它不会存储在字符串池中.

java

0
推荐指数
1
解决办法
162
查看次数

将创建多少个线程?

public class ThreadTest extends Thread
{
    int i=0;

    public void run()
    {
        i=1;
    }

    public static void main(String... args)
    {
        ThreadTest tTest=new ThreadTest();
        tTest.start();

        System.out.println(tTest.i);
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么这有时打印1,有时打印0?在这个程序中会创建多少个线程?据我了解,这个程序中将创建2个线程.如果我错了,请纠正我.

java

-4
推荐指数
1
解决办法
84
查看次数

标签 统计

java ×5

object ×1

oop ×1

static ×1

string ×1