consumptionstore的Java快捷方式
是否有一个已经存在的java类可以替代我用来存储原始数据的这个类consumptionstore的Java快捷方式,java,syntax,Java,Syntax,是否有一个已经存在的java类可以替代我用来存储原始数据的这个类 package scripts.util.function; import java.io.Serializable; public class ConsumptionStore implements Serializable { /** * Holds data */ private static final long serialVersionUID = -7390032854804146344L; private
package scripts.util.function;
import java.io.Serializable;
public class ConsumptionStore implements Serializable {
/**
* Holds data
*/
private static final long serialVersionUID = -7390032854804146344L;
private Object[] data;
public ConsumptionStore(Object...data){
this.data = data;
}
@SuppressWarnings("unchecked")
public <T> T get(int index){
return (T) data[index];
}
public void set(int index, Object value){
data[index] = value;
}
}
与构造函数类似,返回的具有方法和
但是,在列表或数组中存储不同类型的值不是一个好主意。您应该创建一个包含您描述的4个字段的专用类
class Person {
private String name;
private int age;
private OwnedHouses[] ownedHouses;
private OwnedVehicles[] ownedVehicles;
// ...
}
列表是否足够?为什么不安全?我并没有像上面的例子那样使用这个类来存储更复杂的项,而是用于ConsumptionStore(String,Integer)@kay之类的东西,因为您必须记住什么值位于什么位置,然后将该值转换为正确的类型。如果你做错了,在你执行代码之前你不会知道。如果有一个专用类,您会立即知道,因为代码无法编译。此外,专用对象更具解释性,因为它为字段命名。3年后,当您查看代码时,您是否知道consumptionStore.get(3)
应该返回什么?其他人会知道吗?
class Person {
private String name;
private int age;
private OwnedHouses[] ownedHouses;
private OwnedVehicles[] ownedVehicles;
// ...
}