Java装箱或拆箱

时间:2018-05-24 20:42:40

标签: java integer boxing unboxing

我找到了一个例子,我在下面的Java代码中找不到装箱和拆箱的数量:

DataG %>%
  mutate(Group_ID = case_when(
    Group_ID == 1 ~ "1st group's name",
    Group_ID == 2 ~ "2nd group's name"
  )) %>% 
  gather(key = "variable", value = "value", -Group_ID) %>%
  mutate(value = cut(value, c(0, 1.99, 3.99, 5.99, 7))) %>%
  ggplot(aes(x = variable, fill = value)) +
  geom_bar(position = position_fill(reverse = TRUE)) +
  scale_y_continuous(labels = scales::percent) +
  coord_flip() +
  scale_fill_manual(values=c("#19557E","#6E3B60", "#EA916A", "#EFC76C")) +
  theme(panel.background = element_blank()) +
  xlab("") + ylab("") +
  facet_grid(Group_ID ~ .)

我会说有一种类型的拆箱(Integer x = 5; int y = x + x; ),但我不确定。还有拳击吗?

3 个答案:

答案 0 :(得分:3)

Integer x = 5中有一个拳击。 int 5已装箱为Integer

int y = x + x中有两个取消装箱:Integer x已取消装箱两次。

答案 1 :(得分:1)

只有拳击

Integer x = 5

来自文档:

  

如果p是int类型的值,则装箱转换将p转换为a   引用类的类和类型为Integer,例如r.intValue()== p

为什么呢?因为我们只参考一次 并且有两个拆箱:

int y = x + x

来自文档

  

如果r是Integer类型的引用,则取消装箱转换会转换   r进入r.intValue()

为什么呢?因为我们打了两次x.IntValue()

Boxing and Unboxing

获取此文档

答案 2 :(得分:0)

在Java示例中将值从原始值更改为包装器类值

Integer a = 10;
int b = a;

https://youtu.be/96pq0mpFz9M