【问题标题】:How do I cast an int to a long parameter?如何将 int 转换为 long 参数?
【发布时间】:2015-06-04 22:09:59
【问题描述】:
w = dogContainer.getWidth();
dogContainer.add(eyes((int)(.37*w, .39*w*1.75, w/4), eyeColor), 0);

尝试将 Int 转换为所有这些参数时出现错误,我该如何正确执行?

【问题讨论】:

  • 在java中,不好意思忘了提。
  • 马贝dogContainer.add( eyes( (int)(.37*w), (int)(.39*w*1.75), (int)(w/4) ), eyeColor, 0)
  • 您使用的是哪个版本的 Java,遇到了什么错误?
  • 错误是它试图让我多放一个“;”后 w/4);

标签: java parameters casting int


【解决方案1】:

请发布编译时错误,以便人们更容易帮助您。

您不需要将int 转换为long(注意使用小写数据类型)- 这将通过一种称为转换的底层技术来解决。

但是,如果您使用IntegerLong(大写和全字)- 这些是包装类,转换不会自动发生。你需要做一些类似

的事情
Long myLong = myInteger.longValue();

另外作为一个额外的观察(因为代码没有发布我不能确定) - 你乘以一个双倍1.75 - 如果你执行包含双精度的操作,结果将是双精度,即使其中一些操作数(比如 w)是 int 或 long(同样是通过转换在后台管理的东西。

【讨论】:

  • 我不确定您为什么再次发布方法调用。如果您有更多问题,add 和 eye 的 megod 定义会很有用。
  • 是的,所以将方法中的参数更改为 double from into。就是这样。
  • 不,我不能为你做作业。将您的 int 更改为 double 并重新编译。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-29
  • 1970-01-01
  • 2014-03-13
相关资源
最近更新 更多