在Java中如何避免这种情况的类型转换

时间:2019-10-28 17:24:12

标签: java casting

在这种情况下,我必须从int转换为long,然后从long转换为int。我想知道我是否可以避免这种铸造。

library(ggplot2)
library(ggnewscale)

dta1 = data.frame(storename = c(letters[1:5]),
                      storesize = c("small","small","medium","large","large"),
                      lon = c(10,11.2,15,19,22),
                      lat = c(5,5.8,5.6,6.1,3.4))
dta2 = data.frame(population = sample(100,100,replace = T),
                      lon = runif(100,10,22),
                      lat = runif(100,3.5,6))

ggplot() + 
geom_point(data=dta1,  aes(x=lon, y=lat,size=storesize), shape=23, fill="blue") + 
scale_size_manual(values = c(1,2,3)) +
new_scale("size") +
geom_point(data=dta2, aes(x=lon, y=lat, size=population), shape=21, fill="orange")

以后将使用long temp = (long) i + nums[i]; // i + nums[i] could be bigger than Integer.MAX_VALUE // i and nums[] both are int type. int row = (int) (temp % 2); int col = (int) (temp / 2); row访问数组的地方。

我可以为col语句做一个更改,

row

但是我没有任何省时的实现来替换int row = (i%2 + nums[i]%2) % 2; 语句,因此我可以避免对第一条语句进行长时间转换。

0 个答案:

没有答案