从C#获取/设置为Java
发布时间:2020-12-15 23:44:22 所属栏目:百科 来源:网络整理
导读:我正在开发一个将c#项目翻译成 Java的项目.我在C#中有以下Get / Set块 public Unit[] Units{ get { Unit[] units_aux = new Unit[this.list_units.Count]; this.list_units.CopyTo(units_aux); return units_aux; } set { if (value == null) return; Unit[]
我正在开发一个将c#项目翻译成
Java的项目.我在C#中有以下Get / Set块
public Unit[] Units { get { Unit[] units_aux = new Unit[this.list_units.Count]; this.list_units.CopyTo(units_aux); return units_aux; } set { if (value == null) return; Unit[] units_aux = (Unit[])value; this.list_units.Clear(); foreach (Unit u in units_aux) this.lista_units.Add(u); } } 我想将它翻译成Java,但我没有成功翻译它没有语法错误.我是Java的新手,所以也许这是一个基本问题,但我没有找到任何关于如何做到这一点的信息,不会产生错误. 谢谢你的帮助 解决方法
你基本上必须将它转换为一对方法:
public Unit[] getUnits() { // Method body } public void setUnits(Unit[] value) { // Method body } Java没有语言级别的属性 – 上面基本上只是一个(非常常见的)约定. 顺便说一句,我应该注意这个C#代码真的不是很好: >有一种更简单的方法可以将数组转换为列表,反之亦然>当我希望它抛出异常时,setter会忽略一个空值>通过克隆数组,如果设置属性然后修改数组内容,它就没有普遍预期的行为(至少,我的期望).无论如何,将数组作为属性类型通常是一个坏主意;如果你可以让它成为一个只读集合,那将更好,让生活更简单. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |