【问题标题】:Call a method, renaming the variables as new one调用方法,将变量重命名为新变量
【发布时间】:2015-10-31 18:08:08
【问题描述】:

我正在做一个小项目,我想让代码变得更短、更容易,而不是多次写出来。我有一个如下所示的方法,我想多次使用此方法 - 但必须保留存储在文本字段中的每个字符串 - 而不是替换。例如。

  • 变量 tf1 = "item1"
  • I 然后再次调用该方法,变量 tf1 比改为 tf1 = "item2"
  • 我希望 tf1 保留“item1”和“item2”

方法:

public static void text(){
    TextField tf1 = new TextField();
}
text();

【问题讨论】:

  • 请澄清。如果您要问如何在运行时更改变量的名称,这很容易回答:在 Java 和大多数编译语言中,您不能。我的猜测是你想填充一些集合,可能是 ArrayList 或 HashMap,但我不太确定。
  • 不清楚你在问什么?
  • 当你进入一个方法时,你在方法中声明的所有变量都会被重新分配。为了从方法中获取一些信息到该方法的后续调用中,您必须向调用者返回一些内容,然后调用者必须在后续调用中将这些信息传回给您。
  • 使用对象数组,只要确保程序能记住每个索引处的内容。

标签: java variables methods


【解决方案1】:

您可能应该使用 String 类型的列表。 列表将使您能够保存相同类型的无限数据,同时将其保持在相同的名称下,因为列表的大小会动态增长。 然后,您可以使用迭代器或 for-each 循环来访问存储在列表中的数据。

一般语法是:List<String> textFieldList=new ArrayList<String>();

附:记得使用 java.util 包的 List。

【讨论】:

  • 非常感谢 - 这对您有很大帮助(抱歉没有解释清楚)
  • @ScottHollas:您仍然没有改进问题并忽略了所有问题的问题:为什么?恐怕这对您来说不是一个好的开始。请浏览help centertour 部分,希望您未来的问题会更好。您仍然可以改进这个问题以使其有意义。
  • 更好? @HovercraftFullOfEels
【解决方案2】:

如果我对问题的理解正确,我会按照以下方式进行。

TextField tf[] = new TextField[100];
int clickCount = 0;

public static void text(){

tf[clickCount] = new TextField();
clickCount++;

}

你可以用你想要的数字来初始化 tf[]。 如果您不知道号码, 你可以去一个 ArrayList

【讨论】:

  • 嗨 - [] 中使用的 100 是什么
  • 100 只是 n 在开始时初始化数组的示例
【解决方案3】:

String 类型的 ArrayList 可能对您的代码有帮助。

ArrayList TextField =new ArrayList();

TextField.add("item1");
TextField.add("item2");

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 1970-01-01
    • 2020-01-02
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    • 1970-01-01
    • 2017-10-23
    相关资源
    最近更新 更多