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

java中一种基元类型到另一种基元类型的转换

高恺
2023-03-14
  class Main {

    void m1(double x){

        System.out.println("double");
    }

    void m1(float x){

        System.out.println("float");
    }

    void m1(long x){

        System.out.println("long");
    }

    void m1(byte x){

        System.out.println("byte");
    }

    void m1(short x){

        System.out.println("short");
    }

    void m1(int x){

        System.out.println("int");
    }


    public static void main(String[] args) {

      Main m = new Main();
         m.m1(1);
    }
}

如果按照“字节”->“短”->“int”->“长”->“浮点”->“双倍”的自动转换,那么输出应该打印“双倍”,对吗?

(https://www.geeksforgeeks.org/type-conversion-java-examples/)

共有1个答案

秦凯旋
2023-03-14

Int文字(如1)是Int类型的表达式。

重载解析分几个阶段进行,寻找一个可以接受具有您正在传递的类型的参数的方法。

  1. 如果存在一个实际参数与形参具有相同类型的重载,则调用该重载。
  2. 如果存在一个非varargs重载,其中实际参数可以自动转换(例如,通过加宽或取消/装箱)为与形参相同的类型,则调用该重载。
  3. 如果存在一个varargs重载,其中实际参数可以自动转换为与形参相同的类型,则调用该重载。
  4. 否则,错误。
 类似资料:
  • 问题内容: 现在,我正在尝试找到一种方法,将数字从Java中的一个基数转换为另一个基数,给定一个数字,该数字所在的基数以及要转换为的基数。 我找到了JavaScript的解决方案,并且想知道是否可以在Java中执行类似的操作: 问题答案: 你可以做 因此,使用您的函数签名,在Java中:

  • 问题内容: 我想对Java变量进行动态转换,转换类型存储在其他变量中。 这是常规转换: 这就是我要的: 这有可能吗?谢谢! 更新资料 我正在尝试使用HashMap收到的A 填充类。 这是构造函数: 这里的问题是某些类的变量的类型是,如果接收到数字3,它会认为它是类型问题。 问题答案: 是的,可以使用反射 但这没有多大意义,因为必须将结果对象保存在类型变量中。如果你需要变量属于给定的类,则可以将其强

  • 问题内容: 我正在尝试使用Go语言,并且对它很陌生。我已经成功地完成了教程,现在正在编写一个小程序来评估其通常执行的操作类型的性能。我有一个很长的float32类型切片,需要将其尽可能有效地转换为float64类型的切片。除了遍历slice的元素并通过output [i] = float64(data [i])显式转换单个元素的类型外,还有没有一种方法可以用来转换整个slice而无需迭代?我曾尝试

  • 问题内容: 从源(s,s,s)读取图像的最便捷方法是: 但是,然后, 如何转换为格式? 问题答案: 您可以创建所需类型的新BufferedImage,然后在其上绘制原始图像,如下所示:

  • 注意:我不知道这是属于这里还是属于数学交换,但我将从这里开始,因为我正在寻找数值解。 我需要将通用形式$x yi$的复数转换为基$2i$(四分之一虚数基数),最好没有基数(该基数中的小数点/分数)。 有没有进行这种转换的库 有没有办法用不带基数的2i$来表示所有复数(带整数系数) 欧几里德除法是唯一的转换算法吗

  • 我目前正在读一本名为Java的完整参考的书。第18章介绍了基元类型包装器。 正如本书第一部分所提到的,出于性能原因,Java使用基本类型,如int和char。这些数据类型不是对象层次结构的一部分。它们通过值传递给方法,不能直接通过引用传递。另外,有时两个方法无法引用同一个int实例,您需要为这些基元类型之一创建对象表示。例如,第19章讨论的集合类只处理对象;若要在这些类中的一个中存储基元类型,需要