作为一个程序员,我认为这些是寻找像"java.lang.Object中的地址1a234552"或类似的相似s的
Object s = "hello";
Run Code Online (Sandbox Code Playgroud)
它是否正确?因此所有引用都是固定大小的?
我真正想知道的是:假设我将在 Java 中创建一个名为“Family”的类,并且每个家庭都会有许多“familyMembers”作为成员变量,为每个“声明”是否会花费更多的内存? familyMembers”他们是什么“家庭”的一部分?换句话说,假设史密斯家族有 3 个成员,爸爸、妈妈和孩子,让“史密斯”家庭成为每个家庭成员的成员变量:爸爸、妈妈和孩子是否需要更多的记忆?
使用 Any 作为集合类型是否比使用具体类型消耗更少的内存?
\n认为
\nval list1 = listOf<Any>("ABC", "DEF", "GHI", "JKL", "MNO")\nval list2 = listOf<String>("ABC", "DEF", "GHI", "JKL", "MNO")\nRun Code Online (Sandbox Code Playgroud)\n我想知道是否list1消耗的内存比list2类型String分配内存来存储其属性(例如size)要少
list1那么,如果我不使用任何String类型函数,是不是更好?
\n编辑
\n如果我想使用集合中的其他类型怎么办?
list = listOf<Any>("ABC", 123, 12.34)\nRun Code Online (Sandbox Code Playgroud)\n它比效率更高吗
\nlist = listOf<String>("ABC", "123", "12.34")\nRun Code Online (Sandbox Code Playgroud)\n
\n编辑 2
\n感谢@Jo\xc3\xa3o Dias 和@gidds
正如@gidds 所说:
\n\n\n该列表不直接包含 String 对象,或其包含引用的任何对象 \xe2\x80\x94 。
\n
\nString 引用的大小与 Any 引用或任何其他类型的引用完全相同。\xe2\x80\x82
\n …