Skip to main content
 首页 » 编程设计

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

2025年05月04日33shangdawei

我熟悉什么是强类型和弱类型。我也知道 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 在后台为您完成了这项工作。