Java构造函数问题
我正在制作一个内存系统,我有内存和内存元素(MemEl)的代码,还有我的测试代码,我正在尝试编写这些构造函数:MemEl(int)、MemEl(long)、MemEl(String)。我已经完成了短字节和字节的转换,但我需要一些帮助。谢谢 这是我的记忆代码:Java构造函数问题,java,constructor,Java,Constructor,我正在制作一个内存系统,我有内存和内存元素(MemEl)的代码,还有我的测试代码,我正在尝试编写这些构造函数:MemEl(int)、MemEl(long)、MemEl(String)。我已经完成了短字节和字节的转换,但我需要一些帮助。谢谢 这是我的记忆代码: class Memory{ private MemEl[] memArray; private int size; public Memory(int s) {size = s; memArr
class Memory{
private MemEl[] memArray;
private int size;
public Memory(int s)
{size = s;
memArray = new MemEl[s];
for(int i = 0; i < s; i++)
memArray[i] = new MemEl();
}
public void write (int loc, int val)
{if (loc >=0 && loc < size)
memArray[loc].write(val);
else
System.out.println("Index Not in Domain");
}
public MemEl read (int loc)
{return memArray[loc];
}
public void dump()
{
for(int i = 0; i < size; i++)
if(i%1 == 0)
System.out.println(memArray[i].read());
else
System.out.print(memArray[i].read());
}
}
这是我的测试代码
class Test{
public static void main(String[] args)
{
int size = 100;
Memory mymem;
mymem = new Memory(size);
mymem.write(98,4444444);
mymem.write(96,1111111111);
MemEl elements;
elements = mymem.read(98);
System.out.println(mymem);
mymem.dump();
}
}
元素
是一个int
byte
和short
可以隐式(在您不知道的情况下)转换为int
long
和String
不能,因此您将无法向MemEl
类添加构造函数。如果您可以承受精度损失,则可以强制转换:
public MemEl(long longValue) {
elements = (int) longValue;
}
和解析:
public MemEL(String str) {
elements = Integer.parseInt(str);
}
我假设这应该被标记为“java”而不是“javascript”,那么您使用所有这些构造函数实际要实现什么呢?尝试使用泛型,这样您就不必为每个类型/类编写一个类。
public MemEL(String str) {
elements = Integer.parseInt(str);
}