根据MSDN标准struct是一个值类型,但java我们不能有struct,所以我们可以使用class而不是struct。但我担心的是将类实例用作类似于C#struct的值类型。任何人都可以建议我如何在Java中实现struct value类型行为吗?
class Program
{
static void Main(string[] args)
{
Demo d = new Demo("value", "name");
demoTes(d);
Console.WriteLine(d.Value);//prints "value" as output
Console.WriteLine(d.TestValue);//prints "NameChanged" as output
}
public static void demoTes(Demo d)
{
d.Value = "Valuechanged";
d.TestValue.Name = "Namechanged";
}
}
public struct Demo
{
public string Value;
public Test TestValue;
public Demo(string value, string name)
{
Value = value;
TestValue = new Test(name);
}
}
public class Test
{
public string Name;
public Test(string name)
{
Name = name;
}
}
在上面的代码中,我需要将自定义类型作为值传递,而不是对方法的引用。
提前致谢。
此致 萨拉