【问题标题】:Issues creating multiple objects of same class创建同一类的多个对象的问题
【发布时间】:2014-05-14 23:04:20
【问题描述】:

我正在尝试创建同一类的多个对象,但我希望从某个文件中获取对象名称(变量名称)。我该怎么做?

例如:

Example one = new Example();

我想对多个对象执行相同的操作,但我需要将它们命名为 onetwothreefour、...(不知道对象的确切数量,我不能简单地只需复制粘贴它并将one 更改为two,因为我正在从文件中读取它们)。有没有办法做到这一点?

【问题讨论】:

  • 能否请您标记相关语言?
  • @Marty 刚刚标记了它
  • 也许 OT:如果您从文件中读取名称并使用它来创建对象,您如何从整个文件中引用该对象(例如文件中的其他位置)?
  • 一种方法是使用字符串模板引擎(如 Apache Velocity Engine)来生成您的源代码。例如,如果您使用 Maven,这可以集成到您的构建过程中。
  • @user3638700 重要的问题是:“一旦你有了它们,你打算如何使用它们?”

标签: java eclipse class object


【解决方案1】:

您需要为您的姓名准备一个“字典”文件(其中将包含 1:one、2:two、...)

然后您必须解析该文件并创建一个 java 文件:

public String createFileContent( List<String> variableNames ) {
  StringBuffer buffer = new StringBuffer();
  for( String name : variableNames ) {
    buffer.append( "Example " ); 
    buffer.append( name ); 
    buffer.append( " = new Example();" ); 
    buffer.append("\n");
  }
  return buffer.toString();
}

对于更高级的代码生成,您可以考虑使用专门的技术,例如 https://developers.google.com/closure/templates/ http://www.stringtemplate.org/ 或更通用的解决方案: http://java-source.net/open-source/template-engines

【讨论】:

    猜你喜欢
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多