0

所以,我想知道这之间有什么区别:

first = "Hello!" 

和:

String first = "Hello!"
4

5 回答 5

10

前者分配给已声明的变量;后者声明并分配一个变量。

于 2012-05-26T01:18:30.320 回答
1

我不这么认为:

first="Hello!"

将编译,因为编译器会抛出错误,询问 first 的类型。Java 是一种强类型语言——每个变量都需要一个明确定义的类型。我暂时忽略了像 E 这样的泛型类型......

于 2012-05-26T01:18:12.503 回答
1

不太确定你在问什么。在你的第一个例子中:first = "Hello!"你没有声明first,所以如果你只运行那行代码,它将不起作用。假设您声明first为字符串,那么两个示例都是相同的。并且没有stringintand那样的原始类型Integer。字符串始终是一个对象。

于 2012-05-26T01:19:10.053 回答
1
first = "Hello!"

不会正确编译,因为它没有类型。在 Java 中,当您创建一个变量(在本例中称为“first”)时,您必须给它一个类型,例如 String、int、long 等等。因为没有给出类型,所以它不知道该怎么做。所以,当你创建变量时,你必须使用String first = "Hello!"

当变量已经声明时,您不需要提供类型。例如,

String first = "Hello!"
first = "Goodbye!"

现在首先是“再见!”

于 2012-05-26T01:25:24.137 回答
0

乍一看,除了第一个变量在另一行声明可能是实例变量之外,没有其他区别?

在内存中,字符串正在池中,所以应该是这样。

于 2012-05-26T01:18:49.723 回答