我写了下面的java类
public class FileAttachment implements java.io.Serializable {
private java.lang.String fileName;
private java.lang.String fileExt;
public FileAttachment() {
}
public FileAttachment(
java.lang.String fileName,
java.lang.String fileExt) {
this.fileName = fileName;
this.fileExt = fileExt;
}
/**
* Gets the fileName value for this FileAttachment.
*
* @return fileName
*/
public java.lang.String getFileName() {
return fileName;
}
/**
* Sets the fileName value for this FileAttachment.
*
* @param fileName
*/
public void setFileName(java.lang.String fileName) {
this.fileName = fileName;
}
/**
* Gets the fileExt value for this FileAttachment.
*
* @return fileExt
*/
public java.lang.String getFileExt() {
return fileExt;
}
/**
* Sets the fileExt value for this FileAttachment.
*
* @param fileExt
*/
public void setFileExt(java.lang.String fileExt) {
this.fileExt = fileExt;
}
}
如果我尝试将类初始化为数组,如下所示。我需要为它的变量fileattachments分配什么值。我知道我可以为它分配空值。但是,我想分配除null以外的任何东西。
FileAttachment[] fileattachments = //what non null value can I assign it ?
答案 0 :(得分:3)
您可以分配一个新数组,或者您可以使用初始化程序向数组中添加一些元素。
// non-null but empty array
FileAttachment[] fileattachments = new FileAttachment[10];
// initializer with one element
FileAttachment[] fileattachments = { new FileAttachment( "myName", "txt" ) };
为了完整性,Andy指出方法调用也可以。您通常需要一种静态方法来处理此类事情,但如果您非常小心,则实例方法可以正常工作。
FileAttachment[] fileattachments = Utils.genAttachments();
和...
public class Utils {
public static FileAttachment[] genAttachments() {
FileAttachment[] retVal = new FileAttachment[100];
for( int i = 0; i < retVal.length; i++ )
retVal[i] = new FileAttachment( "MyDoc"+i, "doc" );
return retVal;
}
}
答案 1 :(得分:2)
我会使用ArrayList而不是Array,因为如果数组对于容器来说太小,就无法轻松调整数组的大小。
FileAttachment[] fileAttachments = new FileAttachment[5]
以上代码允许您将5个附件放入数组中,但不能再添加,除非您将其重新初始化为new FileAttachment[10]
使用ArrayList,您可以无限添加内容。请参阅以下代码:
List<FileAttachment> fileAttachments = new ArrayList<FileAttachment>();
FileAttachment attachment = new FileAttachment("myFileName", "txt");
fileAttachments.add(attachment);
attachment = new FileAttachment("myOtherFileName", "xls");
fileAttachments.add(attachment):