2015-01-11 3 views
0

요 및 피치는 이중 값이지만 새로운 Location 개체에서 float을 요청하고 (Float) pitch을 수행 할 수 없습니다. 이는 수행 할 수 없다는 오류가 표시되기 때문입니다. 여기 피치 및 요우 - 위치 및 순간 이동

내 코드입니다 : 내 설정에서

float yaw = (Float) getConfig().get("location.Yaw"); 
float pitch = (Float) getConfig().get("location.Pitch"); 

Location teleport = new Location(w, getConfig().getDouble("location.X"), getConfig().getDouble("location.Y"), getConfig().getDouble("location.Z"), yaw, pitch); 

, 요와 피치는 두 배 값이며, 좌표가 문제가 그래서 그들을 무시 할 수없는 문제가 단지 요와 피치

입니다

새로운 Location 개체 초기화 인수는 다음과 같습니다 당신은 플로트로 문자열을 변환 할 Float.parseFloat()를 사용할 수

Location teleport = new Location(World world, Double x, Double y, Double z, Float yaw, Float pitch); 

답변

2
:

String valueFromConfig = getConfig().getString("my.path"); 
float myFloat = Float.parseFloat(valueFromConfig); 

그래서, 이것은 당신의 코드처럼 보일 수있는 것입니다

getFloat 방법이 없다고 가정하면 다음을 사용하십시오.

float yaw = (float) getConfig().getDouble("location.Yaw"); 

StringFloat으로 전송할 수 없습니다. 참조 변환은 객체를 다른 객체로 변환하지 않습니다. 동일한 객체를 참조하는 여러 유형의 참조 만 가질 수 있습니다. getString 객체를 반환하고 StringFloat이 아니므로 StringFloat으로 전송할 수 없습니다.

floatFloat 사이의 구별도 관련이 있습니다. boxing/unboxing 변환과는 별도로, 프리미티브와 참조 간에는 절대 캐스트를 수행 할 수 없습니다.

0

. 예를 들어 :

String str = "13.715"; 
float value = Float.parseFloat(str); //value is now equal to 13.715f 

는 설정에서 값을 얻을 float를 구문 분석하려면 사용할 수 있습니다

float yaw = Float.parseFloat(getConfig().get("location.Yaw")); 
float pitch = Float.parseFloat(getConfig().get("location.Pitch")); 

Location teleport = new Location(w, getConfig().getDouble("location.X"), getConfig().getDouble("location.Y"), getConfig().getDouble("location.Z"), yaw, pitch); 
관련 문제