如何编写构造函数来将整数更改为整数或长整数或字符串....我正在创建一个内存系统,我有内存和内存元素(MemEl)的代码和我的测试代码,我正在尝试编写这些构造函数:MemEl(int),MemEl(long),MemEl(String)我已经为短路和字节做了它,但我需要一些帮助。感谢。
这是我的记忆码:
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 MemEl{
private int elements;
public Memory MemEl[];
{
elements = 0;
}
public void MemEl(byte b)
{
elements = b;
}
public void MemEl(short s)
{
elements = s;
}
public int read()
{
return elements;
}
public void write(int val)
{
elements = val;
}
}
这是我的测试代码
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();
}
}
答案 0 :(得分:1)
elements
是int
。 byte
和short
可以隐式(不知道)转发给int
。 long
和String
不能,因此您无法将构造函数添加到MemEl
类
答案 1 :(得分:1)
如果你有能力输掉精度,那么你可以施放:
public MemEl(long longValue) {
elements = (int) longValue;
}
并解析:
public MemEL(String str) {
elements = Integer.parseInt(str);
}