我发现一些代码我工作的地方的点null
被强制转换Object
,因为它是传递给方法。
为什么要这样做?
我知道这个问题涉及重载的方法,并使用类型转换来确定要调用的方法的版本。
但是,如果不执行强制类型转换,Object
如果使用空参数调用该方法,那么是否会重选带有其他类型的参数的重载方法呢?那么演员阵容还能完成什么呢?
如果 未 执行转换,则将选择 最具体的 版本。
null
可以是type String
或type 的空引用Object
。因此,如果这两个方法可用,则将String
调用该方法。
如果你有方法Object
,Integer
并
String
随后调用与null
(无投)将给出一个编译错误,因为Integer
和String
都是有效的, 同样特定
(即没有一个其他的一个特例)。在这种情况下,您将 必须 强制转换null
以指定要调用的方法。
问题内容: 什么时候以及为什么有人要执行以下操作: 你做过吗?您能否分享您的经验? 问题答案: 如果重载,则需要显式将null强制转换为,以便选择正确的重载: 调用varargs函数时,需要进行强制转换的情况是: 最后一行将产生以下警告: Example.java:26:警告:varargs方法的无变量调用,最后一个参数的参数类型不精确; 强制转换为varargs调用 强制转换为非varargs调
问题内容: 我有JavaScript对象说: 当我做 它返回以下内容 b =“ {” b“:null,” c“:10}”; JSON.stringify如何将对象转换为字符串? 我尝试了MDN解决方案。 但是在这种情况下,我必须返回字符串“ Infinity” not 。如果我返回Infinity,它将再次将Infinity转换为null。 我该如何解决这个问题。 问题答案: 像其他答案一样,JS
本文向大家介绍将MySQL null转换为0?,包括了将MySQL null转换为0?的使用技巧和注意事项,需要的朋友参考一下 使用IFNULL或function以便将MySQL NULL转换为0。 语法如下 让我们首先创建一个表。创建表的查询如下 使用insert命令在表中插入一些记录。 查询如下 使用select语句显示表中的所有记录。 查询如下 以下是输出 这是将MySQL NULL转换为0
问题内容: 在我的Web应用程序中,我在Apache Tomcat(TomEE)/7.0.37服务器上使用OpenJPA。我使用Netbeans自动生成类(“来自数据库的实体类…”和“来自实体类的会话Bean …”)。在SessionBean(例如UserFacade)上,我想获取EntityManager: 但是当我通过上述方式得到它时,我得到的是空值。当我通过: ecm不为空,还可以 我的pe
问题内容: 缩小转换是指将可以容纳较大值的数据类型放入可以容纳较小值的数据类型。 但是,我不明白为什么将short转换为char会缩小转换范围,但是我有直觉,这与这两种数据类型的有符号/无符号有关,但我无法解释原因。 看起来这将是一个扩大的转换,或者至少不会缩小或扩大,因为它们都是16位并且可以容纳相同数量的值。 问题答案: 这是因为a 可以保持负值,而您可能从中看不到。让我举几个例子。 A(负)