小编Tal*_*lam的帖子

变量的静态、动态、弱、强类型

虽然有很多与这个主题相关的问题,但不知何故我总觉得有些我不知道或说我对这些答案不满意,所以我在这里再次发布

    Integer in=new Integer(4);
    Character character=(Character) in; //Cannot cast from Integer to Character
    String s="hello";
    int j=(int) s;//Cannot Cast from string to int 
    char chi='a';
    int l=(int)chi; //works
    int i=0;
    char ch=(char)i; //works
    String b=(String)1+"hello";//cannot cast from int to string
Run Code Online (Sandbox Code Playgroud)

在第 2、第 4 和第 9 行中,它向我显示了注释错误,而我可以在注释行中进行intchar之间的转换 。

所以在我发布的代码中,编译器检查静态/动态行为并检查弱/强行为。

我相信这些问题的答案一定有很多,所以如果有的话,请发布链接,否则详细的解释将非常可观。

是什么让我困惑

  • 有些静态/动态和强/弱对我来说看起来一样
  • 编译器如何理解何时检查静态/动态类型以及何时检查强/弱类型
  • 这两种类型检查系统的必要性是什么?

java type-systems

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

标签 统计

java ×1

type-systems ×1