在 C 中,我将创建如下数据结构:
struct file_data_format
{
char name[8][20];
float amp[8];
int filter[8];
};
extern struct file_data_format f_data;
然后我可以将整个结构读取或写入文件或内存位置。
我如何在java中的类中执行此操作?
答案 0 :(得分:2)
在询问之前,您应该阅读Java的基础知识。 C中的结构可以用Java编写为Class。
public class FileDataFormat implements Serializable {
String[][] name = new String[8][20];
float[] amp = new float[8];
int[] filter = new int[8];
public FileDataFormat() {
}
public void setName(String[][] name) {
this.name = name;
}
public String[][] getName() {
return this.name;
}
// next getters and setters
}
我非常推荐OOP(封装,多态,继承)。
答案 1 :(得分:1)
如果您想达到类似效果,可以执行以下操作。
不幸的是,你没有像在c
中那样控制它在内存中的表示方式public class file_data_format
{
public char name[8][20];
public float amp[8];
public int filter[8];
}
...
public static void main()
{
file_data_format fdf = new file_data_format();
fdf.name = charArrayIGotFromSomewhere
}
答案 2 :(得分:1)
public class FileDataFormat {
private String name;
private float amp;
private int filter;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getAmp() {
return amp;
}
public void setAmp(float amp) {
this.amp = amp;
}
public int getFilter() {
return filter;
}
public void setFilter(int filter) {
this.filter = filter;
}
}
答案 3 :(得分:1)
Java中的结构等价于JavaBean,正如其他答案所示。
来自Wikipedia,一个JavaBean:
要从文件或内存中写入和读取它,它不像C中那么简单。通常使用Java Object serialization将对象写入/读取到ObjectInputStream / ObjectOutputStream,它可以附加到文件或字节数组。