当前位置: 首页 > 知识库问答 >
问题:

将方法参数传递给java中类型为byte、int、int的方法参数

翁翰
2023-03-14
 public double subtractNumbers(byte arg1,int arg2,int arg3) {
    double sum=arg1+arg2+arg3;
    return sum;
}
 public void call(){
  subtractNumbers(15,16,17);   /*Compile error,but 15 is in byte acceptable 
 range of -128 to 127 */
  }

int是byte、short、int、long的默认文字,然后是为什么byte c=15被接受而不进行强制转换,但不接受方法参数。

提前谢谢你。

共有1个答案

樊熠彤
2023-03-14

你的问题归结为:

为什么将15赋值给字节在变量声明中起作用:

byte b = 15;

但在调用方法时不是?

subtractNumbers(15,16,17);
    null

然而,在调用上下文中,这是不正确的:

JLS§5.3调用上下文

严格的调用上下文允许使用以下内容之一:

    null
    null
 类似资料:
  • 问题内容: 以下代码的输出是因为从beginIndex到EndIndex-1。但是,令我惊讶的是这里的3(int)因为是两个整数。这背后的概念是什么? 问题答案: 一直到C,从本质上讲是一个窄整数类型,并在需要时隐式转换为C。 在Java中,这在技术上称为“扩展原始转换”,在JLS的5.1.2节中进行了介绍。

  • 问题内容: 问题摘要: 我想将具有类型参数(例如)的类作为类型参数传递给泛型方法。 假设我有一个方法: 当然,此方法对于任何类型的类都可以正常使用。我可以这样调用该方法,例如: 问题: 我发现我不能这样做: 从句法上讲,这显然是无效的。但是,我不确定如何实现这样的目标。我当然可以通过,但是泛型类型的添加使其在语法上不再有效,并且我想不出解决方法。 唯一的直接解决方案是这样的事情(看起来很愚蠢):

  • 我正在编写一个方法,如果我想将一个类传递给一个方法,其中代码的一部分包括检查对象是否属于某种类型。这就是我想要的(但显然不行): 关于如何做到这一点有什么提示吗?谢谢!

  • 问题总结:我想传递一个带有类型参数(如

  • 我对弗利特和我是新手;我一直在尝试开发一款带有PHP API后端的应用程序。在无数的答案和在线研究中,我无法找到解决我所面临问题的方法。我希望有人能告诉我我做错了什么。 我试图从API中获取数据,并将其显示在卡中。下面是我的代码: 希望能得到一些帮助。非常感谢。

  • 问题内容: 我很好奇Go中是否有可能。我有多种方法的类型。是否可以有一个函数,该函数需要一个方法参数,然后将其称为类型? 这是我想要的一个小例子: Go认为type 有一个称为的方法,而不是用传入的方法名称替换它。 问题答案: 是的,有可能。您有2(3)个选项: 规范:方法表达式 该表达式产生的功能与第一个参数等效,但具有一个显式接收器。它有签名。 在这里,方法接收器是显式的。您只需将方法名称(具