-1

我正在寻找 Integer not int 但 Integer 的含义是有问题的代码

public class BasicSearch {
    public static final int NOT_FOUND = -1;
    public static int binarySearch(Integer[] a, int x)
    {
        int low=0;
        int high = a.length - 1;
        int mid;
        while (low <= high)
        {
            mid = (low + high) / 2;
            if (a[mid].compareTo(x)<0)
                low = mid + 1;
            else if (a[mid].compareTo(x) > 0)
            high = mid -1;
            else
                return mid;
        }
        return NOT_FOUND;
    }
    public static void main(String[] args)
    {
        int SIZE = 8;
        Integer[] a = new Integer[SIZE];
        for (int i=0; i<SIZE; i++)
            a[i] = new Integer(i * 2);
        for (int i=0; i<SIZE*2; i++)
            System.out.println("Found " + i + " at " + binarySearch(a, new Integer(i)));
    }


    }

我不知道整数是关键字还是什么我可以得到任何帮助吗?

4

4 回答 4

5

在 Java 中,我们有一个称为Wrapper Classes的概念。包装类是包装原始类型的对象。例如,char有一个Character包装类。这些类旨在为对象方法提供类似于原始类型的功能。

所有 Primitive 包装类也是不可变的,这意味着虽然您可以访问数据,但一旦创建就无法对其进行操作。

这篇 Wikipedia 文章列出了 Java 中的所有包装类。

正如 PetarMinchev 所说,没有必要在这段代码中使用它们。

于 2013-04-13T19:55:37.370 回答
4

Integer是一个包装 的类int,它是一个原始类型。

不需要在Integer这里使用,它只是浪费资源。您可以在没有 的情况下进行比较compareTo,但使用简单的<and >

于 2013-04-13T19:52:36.313 回答
0

Integer 是一个包装普通原始 int 的类。当您需要一个类来表示整数而不是原始类型时,它可以在某些情况下使用。

一个常见的例子是当你需要创建一个通用集合时:

List<Integer> list;

另外,Integer 类有方法,所以有时使用起来会更方便

于 2013-04-13T19:59:15.157 回答
0

整数是 int(原始数据类型)的包装类。

所以实际上 Integer 只不过是 Java 创建的一个类,在其中实现了一些实用方法。

无需将其视为任何神奇的东西,它只是您在那里处理的对象。具有一些功能。

您可以在此代码中根据需要很好地使用 int 。

使用 Integer 类的最佳实用程序将是您希望通过引用传递参数或使用它们提供的大量实用程序函数的地方。

对于像这样的简单比较操作,最好使用 int。

于 2013-04-13T20:00:43.203 回答