Elettracompany.com

Компьютерный справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Arrays binarysearch java

Java Arrays.binarySearch с compareTo

Мне нужно использовать Arrays.binarySearch для массива пользовательских объектов. Вот этот объект:

В моем основном я сначала вызываю Arrays.sort(lowerBounds); , где lowerBounds-это массив элементов диапазона. Это работает просто отлично и сортирует их с помощью compareTo я написал. Затем я вызываю Arrays.binarySearch(lowerBounds, 0) , но получаю «исключение в потоке «main» java.lang.ClassCastException: java.lang.Integer не может быть приведено к compareToTest.Range».

Что я делаю не так? Спасибо.

Редактировать: вот главная:

2 Ответа

Arrays.binarySearch принимает два параметра-массив для поиска и объект, который вы ищете. Вы предоставили массив объектов Range и int (который автоматически помещается в Integer ). Естественно, вы не можете искать Integer в массиве Range s.

Вместо этого вы должны создать объект Range , который вы ищете. E.g.:

Arrays.binarySearch(lowerBounds, 0) неверно, потому что вы сравниваете диапазон Objects.SO вам нужно передать объект диапазона вместо целого объекта, который приводит к java.lang.ClassCastException: java.lang.Integer не может быть приведен к compareToTest.Range»

Вам нужно создать RangeObject и передать его в метод binarySearch

Похожие вопросы:

Я хотел бы реализовать метод java Arrays.binarySearch для binarySearch(double[], double) , но на языке C. Что-то подобное описано здесь , но для массива символов, и это не описано достаточно хорошо.

У меня есть вопрос о создании функции compareTo в Java. В Java мы имеем метод String.compareTo(String) . Однако мне нужно сделать функцию compareTo только с одним параметром, например.

Есть ли замена в Scala для Java int Arrays.binarySearch(Object[] array, object) ? Проблема заключается в том, что массивы Scala не являются ковариантными, поэтому мне придется сначала привести свой.

String[] array = getContext().getResources().getStringArray(R.array.DevCategories); чтобы получить массив. Я то называю это: Arrays.binarySearch(array,Plan)); он возвращает -5 , я уверен, что первое.

Читать еще:  Javascript serialize array

В настоящее время я пытаюсь узнать java Arrays.binarySearch, и см. Oracle doc ниже: Arrays.binarySearch(int[] a, int fromIndex, int toIndex, int key) Возвращается: индекс ключа поиска, если он.

У меня есть базовое понимание, что Java compareTo метод lexicographically compares две строки. Я прочитал основы здесь сравнение строк в Java У меня есть следующий пример: public class CompareTo <.

Мне любопытно узнать, какова логика ответа, который я получаю, когда использую Arrays.binarySearch без сортировки. int d[]=<6,-4,12,0,-10>; int x=12; int y=Arrays.binarySearch(d,x);.

Для массива объектов можно ли реализовать двоичный метод поиска (предпочтительно с Arrays.binarySearch) с несколькими ключевыми значениями, которые необходимо сопоставить? Скажем, тип объекта.

Итак, у меня есть следующий класс объектов: public class IntoleranceFood implements Comparable < private int scoreInt; public String foodName; public IntoleranceFood(String.

Я разработал / реализовал общий метод compareTo в Java. Так что для любого объекта, который вы определяете, он будет иметь метод compareTo . Это имеет отношение к делу? Пожалуйста, ответьте и.

Ссылка на основную публикацию
Adblock
detector