Java int、short、long的通用函数

Java int、short、long的通用函数,java,Java,可能重复: 我想为int做一个函数,短函数和长函数。我有3个几乎相同的函数 private <T extends Number > T scanTInteger() throws IOException, NumberFormatException { T number = 0; private T scanTInteger()引发IOException、NumberFormatException { T数=0; 但我不知道如何处理int、short、long等

可能重复:

我想为int做一个函数,短函数和长函数。我有3个几乎相同的函数

    private <T extends Number > T scanTInteger() throws IOException, NumberFormatException
{
    T number = 0;
private T scanTInteger()引发IOException、NumberFormatException
{
T数=0;
但我不知道如何处理int、short、long等泛型类型。对于对象来说很容易。 有没有办法。 编辑
好的,我知道如何在没有泛型函数的情况下做到这一点。我将只使用long和max大小的基元类型,并在最后转换它。如果有人找到如何使用泛型,我将很高兴:)

您可以创建自己的类,该类包装了这三种类型中的任何一种,然后在该类的代码中处理它们。您将不会有任何特定语言的自动处理、自动装箱等,但这会满足您的要求

然而,在我看来,创建一个函数的主要原因是一次编写一段逻辑,而不是三次。我建议为每个数据类型使用不同的方法,然后让这三个方法分别调用一个包含逻辑的方法。它可以(应该是)私有,因此隐藏您所做的任何处理(在中心逻辑之前和/或之后)为了适应所有这三种类型,从任何一点调用它们都很容易,因为原语不必插入包装器中,使用3个单行方法而不是一个泛型方法对维护人员或用户来说都不是太麻烦


换句话说,在您的情况下使用泛型真的值得吗?它们真的是用于类,而不是原语。

没有办法。您想做什么?int、short和long有包装类:Integer、short、long。我知道什么是包装。这就是为什么我将Number类扩展到泛型it,但Number帮不了我。什么是您的return语句?您想要返回包装器对象还是原语?如果您想要原语(即长、短或int),那是不可能的。primitive或wrapper对象,如果我可以使用它在调用它的函数中获取primitive。我使用了一个长函数和一行三函数atm。我在编辑中说过,但感谢您的建议:)