2016-11-28 1 views
0

기본 변수가 public 인 변수가있는 객체를 비 직렬화합니다. intelliJ는 public을 수정 자로 생각합니다. Java가 수정 자라고 생각하지 않게하려면 어떻게합니까?Java 변수의 이름을 "public"으로 지정하는 방법

+3

* "Java가 수정 자라고 생각하지 않게하려면 어떻게합니까?"* 다른 이름을 사용할 수 없습니다. – Tom

+1

'public'변수의 이름을 지정할 수 없습니다. 변수'class' 나'true'의 이름을 지정할 수없는 것처럼 말입니다. http://www.jwrider.com/riderist/java/javaidrs.htm – CollinD

+0

당신은 몰라요! 변수 이름을 사용할 수없는 키워드입니다. 대신 gson이 json-field "public"을 변수에 매핑하기 위해 변수를 작성하고 주석을 달아야합니다. http://www.javacreed.com/gson-annotations-example/ – luk2302

답변

3

수 없습니다. 할 수있는 최선의 방법은 직렬화 프로세스 자체와 관련된 것이고 변수 이름을 변경하는 것입니다 (예 : @SerializedName). 네가 그렇게 할 수 없다면 너는 고생 할 것이다.

Java 소스 코드에만 해당됩니다. 컴파일 된 .class 파일은 Java 키워드와 동일한 변수, 클래스 이름 등을 가질 수 있습니다. 일부 코드 난독 화자는 이것을 합법적 인 Java로 디 컴파일하는 것을 매우 어렵게 만듭니다.

3

이러한 변수에 대해 @SerializedName("public") 주석을 사용하십시오.

관련 문제