gpt4 book ai didi

java - 与 python 相比,Java 是否如本示例所示那样是弱类型的?

转载 作者:太空宇宙 更新时间:2023-11-04 08:13:22 25 4
gpt4 key购买 nike

我熟悉什么是强类型和弱类型。我也知道 Java 是强类型的。现在我学习python,它是一种强类型语言。但现在我看到 python 比 Java 强类型化。举例说明

public class StringConcat {

public static void main(String[] args) {
String s="hello ";
s+=4;
System.out.println(s);
}
}

没有错误并打印 hello 4

在 python 中

>>> x="hello"
>>> x+=4
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects

所以这个例子说明python是强类型的。除非在幕后使用 Java,否则会进行一些操作以将 int 转换为 String 并执行 String concat。

最佳答案

尽管有您的示例,Java 仍然是强类型的。代码等同于

String s = "hello ";
s = s + 4;

Java会将4转换为字符串,然后进行字符串拼接。这是一种语言功能。

但是,在 Python 中,您不能使用 +4 连接到您的字符串,因为该语言不会随意将其转换为 str 。正如您所指出的,Java 在后台为您完成了这项工作。

关于java - 与 python 相比,Java 是否如本示例所示那样是弱类型的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18522875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com