enum을 쓰다가 상속이 안되는게 빡쳐가지고 전부 클래스로 바꾸는 중인데
대체가 안되는 기능이 있어서 질문 올려봄;;
//원래 쓰던 enum 코드가 이거고
enum TestButton {
numOne(1), numTwo(2), numThree(3);
private final int ID;
private TestButton (int id) {
ID = id;
}
public int getId () {
return ID;
}
}
//이게 클래스로 바꾼거임
class HallButton {
public static final HallButton[] hallButton = {
new HallButton(1),
new HallButton(2),
new HallButton(3),
};
private final int ID;
private HallButton (int id) {
ID = id;
}
public int getId () {
return ID;
}
}
//이걸로 테스트를 해 봤는데
public static void main(String[] args) {
HallButton.hallButton[0] = HallButton.hallButton[1];
System.out.println(HallButton.values()[0].getTableNumber());TestButton.values()[0] = TestButton.values()[1];
System.out.println(TestButton.values()[0].getTableNumber());
}
클래스로 배열 선언한거는 저렇게 하면 참조값이 바뀌어서 값도 바뀜;;
근데 enum은 안바뀜;;
배열도 참조값 못바꾸게 못함??
너가 뭘 하고 싶은지를 모르겠다
값만 받아오려는 거냐?
그건 아니고 질문 글 올리는데 코드를 주렁주렁 다 올릴 수 없으니까;;
그니까 int[] arr = new int[10] 이라고 선언 했으면 arr[1]에다가 최초 참조변수 이외에 다른 참조변수 못들어가게 하는 방법이 궁금한거임
HallButton.hallButton[0] = HallButton.hallButton[1];
여기서 니가 의도했던 바가 머냐고
그냥 바뀌나 안바뀌나 테스트해본거?
final int[] arr = new int[10] 해놔도 arr[1] = arr[2]; 뭐 이런식으로 쓰면 arr[1]이 바뀌잖아 ㅜㅜ
ㅇㅇ 그냥 바뀌는지 테스트 한거지. 혹시 나중에 버그 생길까봐
enum쓸 때는 저거 뭔지랄을 해도 안바뀌던데 말여....
니가 원하는 거랑은 조금 다르겠지만...ArrayList를 함 써봐라
안바뀌는 건 아닌데 저런식으로는 안바뀜
오 ㄳㄳ