【发布时间】:2011-04-09 09:41:17
【问题描述】:
我想调用一个可能采用不同版本的方法,即输入参数类型相同的方法:
- 布尔值
- 字节
- 短
- int
- 长
我想这样做的方法是“重载”方法(我认为这是正确的术语?):
public void getValue(byte theByte) {...}
public void getValue(short theShort) {...}
... etc ...
...但这意味着我必须通过引用传递原始类型...类似于 C++,其中该方法具有外部效果,它可以在其范围之外修改变量。
有没有办法在不创建新类或使用原始类型的 Object 版本的情况下做到这一点?如果没有,有什么替代策略的建议吗?
如果我应该进一步解释以消除任何混淆,请告诉我。
更新
我实际上想要做的是从一组位构造原始类型。因此,如果我正在处理该方法的字节版本,我几乎想要完成我的工作以获取 8 位并返回字节(因为我无法通过引用传递)。
我问这个问题的原因是因为我对位所做的工作非常重复,我不想在不同的方法中使用相同的代码。所以我想找到一种方法让我的 ONE 方法知道我在谈论多少位......如果我正在使用一个字节,那么 8 位,如果我正在使用一个短的 16 位等...
【问题讨论】:
标签: java pass-by-reference overloading primitive-types