• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Как Сделать Конструктор Для Объекта Содержащий Другой Объект - Массив

  • Автор темы SimpleGirl
  • Дата начала
S

SimpleGirl

Добрый день! скажите пожалуйста я правильно делаю конструктор для объекта содержащий другой объект массив, например конструктор класса Disc

public Disc(int Num, String Title, int [] renter){

this.Disc_Num = Num;
this.Disc_Title = Title;
this.Disc _Renter = renter; вот здесь, правильно ли я строю коструктор для массива?
}
 
B

bybyby

Как раз хотел сохдать такую же тему, а здесь уже есть. Так может кто знает, очень нужно.
 
L

LuMee

Массивы в конструктор передаются точно так же, как и значения любых других типов:
Код:
public MyClass {
private int id;
private int[] values;

public MyClass(int id, int[] values) {
this.id = id;
this.values = values;
}
}
И потом где-то в коде:
Код:
int i = 10;
int[] vals = new int[] { 1, 2, 3 };
MyClass obj = new MyClass(i, vals);
Естественно, следует понимать, что в этом коде vals и obj.values ссылаются на один и тот же массив. Если такое поведение нежелательно, то в конструкторе MyClass надо создавать новый массив и копировать в него значения из переданного.
 
S

SimpleGirl

Подскажите пожалуйста а как отсортировать массив обектов не по String а по числам и в обратном порядке



public static void main (String[] args) throws IOException
{
Client ourClients[] = new Client[10];
ourClients[0] = new Client(1, "Nina", 3);
ourClients[1] = new Client(2, "Stephane", 1);
ourClients[2] = new Client(3, "Natalya", 1);
ourClients[3] = new Client(2, "Julie", 2);
Arrays.sort(ourClients, new Comparator<Client>()
{
private Collator collator = Collator.getInstance();

@Override
public int compare (Client o1, Client o2)
{
return o1 == null || o2 == null ? 1 : collator.compare(o1.getName(), o2.getName());
}
});
for (Client client : ourClients) {
System.out.println(client);
}
}
 
L

LuMee

Если прямо код написать, будет, наверное, неинтересно. Поэтому намекну: сортировкой управляет метод compare объекта-компаратора, который вторым параметром в Arrays.sort передается. Метод этот должен вернуть отрицательное значение, если o1 "меньше" o2, положительное - если "больше", ноль - если "равны". Итого: берем у сравниваемых объектов нужные "числа" (какое из двух, кстати?), сравниваем между собой и возвращаем то, что нужно (см. выше). Вроде, достаточно толсто намекнул :).
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!