Java 俯仰和偏航-定位和传送
偏航和俯仰是双值,但在新的Java 俯仰和偏航-定位和传送,java,bukkit,Java,Bukkit,偏航和俯仰是双值,但在新的位置对象中,它们要求浮动,而我不能执行(浮动)俯仰,因为它显示一个错误,表示我不能执行 这是我的密码: float yaw = (Float) getConfig().get("location.Yaw"); float pitch = (Float) getConfig().get("location.Pitch"); Location teleport = new Location(w, getConfig().getDouble("location.X"), g
位置
对象中,它们要求浮动,而我不能执行(浮动)俯仰
,因为它显示一个错误,表示我不能执行
这是我的密码:
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
对象初始化参数为:
Location teleport = new Location(World world, Double x, Double y, Double z, Float yaw, Float pitch);
可以使用将字符串转换为浮点。例如:
String str = "13.715";
float value = Float.parseFloat(str); //value is now equal to 13.715f
要从配置中获取值并解析浮点值,可以使用:
String valueFromConfig = getConfig().getString("my.path");
float myFloat = Float.parseFloat(valueFromConfig);
因此,您的代码可能是这样的:
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);
假设没有
getFloat
方法,请使用:
float yaw = (float) getConfig().getDouble("location.Yaw");
不能将字符串
强制转换为浮点
。引用强制转换从不将对象转换为其他对象-它们只允许您拥有引用同一对象的不同类型的引用。由于get
返回String
对象,并且String
s也不是Float
s,因此不能将String
强制转换为Float
float
和float
之间的区别也是相关的。除了装箱/取消装箱转换,您永远不能在原语和引用之间强制转换