C#区分了这两者。 java是做同样的还是不同的?
答案 0 :(得分:22)
在Java中,所有对象和枚举都是引用类型,所有基元都是值类型。两者之间的区别与C#中的复制语义相同,但您无法在Java中定义新的值类型。
答案 1 :(得分:4)
实际上,Java中的所有内容都是通过值传递的,引用是一种特殊类型的值,就像指针是C中的值一样。更多关于语义的信息:
另一方面,C#确实有一个实际的引用,它与参考值无关......它能不会比这更令人困惑?答案 2 :(得分:2)
在Java中,基元是值类型,类和数组是引用类型。