Вопрос, вот кусок кода, подскажите пожалуйста, как можно сделать что-бы метод clone вызывался и клонировал объект? ) Интересует именно вариант с переопределением метода класса Object. Потому как реализовать свой метод не проблема.
public static class AsciiCharSequence implements CharSequence{
private final byte[] ascArr;
public AsciiCharSequence(byte[] ascArr){
this.ascArr = ascArr.clone();
}
@Override
public byte[] clone() {
byte[] cloneAscArr = new byte[ascArr.length];
int index = 0;
for (byte elem : ascArr){
cloneAscArr[index] = elem;
index++;
}
return cloneAscArr;
}
Без переопределения я смог сделать так ( но хотелось бы понять, есть ли возможность переопределить) :
public AsciiCharSequence(byte[] ascArr){
this.ascArr = clone(ascArr);
}
public byte[] clone(byte[] inputArray) {
byte[] cloneAscArr = new byte[inputArray.length];
int index = 0;
for (byte elem : inputArray){
cloneAscArr[index] = elem;
index++;
}
return cloneAscArr;
}
Во-первых метод clone()
имеет модификатор доступа protected
, во-вторых, возвращает Object
. Если хотите полностью переопределить и реализовать свою логику, тогда переопределяйте так:
@Override
protected Object clone() throws CloneNotSupportedException {
// ваш код
}
Если вы пишите это:
public byte[] clone(byte[] inputArray) {
// ваш код...
}
то это уже не переопределение, вы пишите полностью свой метод, т.к. он уже как минимум возвращает не объект, а массив... другая сигнатура и т.д. и т.п.
Тут объясняют простым языком про переопределения в Java.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
есть POJO:
Как можно отключить проверки на ошибки когда IDEA компилирует проект, по картинке ниже видно что выводятся Warnings, мне бы не то что не хотелось...