Что означает действие в скобках конкретно в моей ситуации?
GamePerson oneRestore = (GamePerson) myPers.readObject();
именно действие в скобках (GamePerson)
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class Main {
public static void main(String[] args) throws Exception {
GamePerson one = new GamePerson(50 ,"Эльф",new String[] {"лук", "копье", "меч"});
GamePerson two = new GamePerson(200 ,"Тролль",new String[] {"дубина", "палеса", "меч"});
GamePerson three = new GamePerson(100 ,"Маг",new String[] {"посох", "книга заклинаний", "нож"});
FileOutputStream personsGame = new FileOutputStream("personsGame.ser");
ObjectOutputStream pG = new ObjectOutputStream(personsGame);
pG.writeObject(one);
pG.writeObject(two);
pG.writeObject(three);
one = null;
two = null;
three = null;
try (ObjectInputStream myPers = new ObjectInputStream(new FileInputStream("personsGame.ser"))) {
GamePerson oneRestore = (GamePerson) myPers.readObject();
GamePerson twoRestore = (GamePerson) myPers.readObject();
GamePerson threeRestore =(GamePerson)myPers.readObject();
System.out.println("Ваш персонаж " + oneRestore.getType());
System.out.println("Ваш персонаж " + twoRestore.getType());
System.out.println("Ваш персонаж " + threeRestore.getType());
}
}
}
import java.io.Serializable;
public class GamePerson implements Serializable {
int power;
String type;
String[] weapons;
public GamePerson(int p, String t, String[] w) {
power = p;
type = t;
weapons = w;
}
public String getType() {
return type;
}
}
GamePerson oneRestore = (GamePerson) myPers.readObject();
(GamePerson)
означает преобразование типа.
myPers.readObject()
возвращает (вероятно) результат типа Object
(вернее, ссылку на Object
), и без этого преобразования компилятор выдаст ошибку. Этим преобразованием (кастом - "cast") программист говорит компилятору, что он знает, что делает, что он уверен в том, что за ссылкой на Object
скрывается GamePerson
. Если же там не GamePerson
(или наследник/реализация этого типа), а что-то другое, то произойдет ошибка выполнения (run-time error) - будет выброшено исключение.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Условие: Есть приложение которое, в определённый момент, должно пробуждать устройство (экран устройства должен включится) и показывать уведомлениеРабота...
Здравствуйте столкнулся с проблемой: нужно получить SHA-1 APK-файла заданного приложения, я могу получить пакет, версию, имя, но вообще не могу...