【萌新求助】一个数组为String,另一个数组里是对象实例,是否可以建立引用关系。

Ufutihkbf5 2018-09-05 11:58:55
如题:一个数组里元素都为String,另一个数组里是对象实例(只创建了对象, 无引用),是否可以建立引用关系(不用集合)。

Object str = new Object();




可能表述的有问题,希望大佬能看懂吧

其实问题来源于想动态创建对象,比如我想创建一百个按钮。
JButton button_1 = new JButton("1");
…………
JButton button_100 = new JButton("100");
可能工厂模式能轻易做到,不过萌新目前没有学到,所以就想,是否可以不使用设计模式之类的来实现这个需求。
...全文
356 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
licjd 2018-09-08
  • 打赏
  • 举报
回复
引用 3 楼 qq_36968138 的回复:
[quote=引用 2 楼 m0_37461645 的回复:]
你看利用循环解决如何:

// 数组:表示按钮名
String[] strArr = { "提交", "登录", "注册", "重置", "前进", "后退" };
// 按钮个数
int len = strArr.length;
// 按钮数组,与strArr长度对应
JButton[] buttons = new JButton[len];
// 遍历创建JButton
for (int i = 0; i < len; i++) {
buttons[i] = new JButton(strArr[i]);
}





不不不,不是按钮名。 String数组里是变量名。
需要把String数组里的元素和JButton数组里的元素建立引用关系的啊。
JButton button_1 = new JButton("1");
…………
JButton button_100 = new JButton("100");[/quote]
原谅我,看不懂了。。
nayi_224 2018-09-06
  • 打赏
  • 举报
回复
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] sarr = {"a", "b", "c"};
Object[] oarr = {new Object(), new Object(), new Object(),};
System.out.println(findArr(sarr, oarr, "b"));

Map<String, Object> map = new HashMap(){{
this.put("a", new Object());
this.put("b", new Object());
this.put("c", new Object());
}};
System.out.println(map.get("b"));

List<String> l1 = new ArrayList<>(Arrays.asList("a", "b", "c"));
List<Object> l2 = new ArrayList<>(Arrays.asList(new Object(), new Object(), new Object()));
System.out.println(l2.get(l1.indexOf("b")));
}

public static Object findArr(String[] sarr, Object[] oarr, String target){
int i = -1;
while(++i < sarr.length && sarr[i] != target);
return i < sarr.length ? oarr[i] : null;
}
nayi_224 2018-09-06
  • 打赏
  • 举报
回复
引用 3 楼 qq_36968138 的回复:
[quote=引用 2 楼 m0_37461645 的回复:]
你看利用循环解决如何:

// 数组:表示按钮名
String[] strArr = { "提交", "登录", "注册", "重置", "前进", "后退" };
// 按钮个数
int len = strArr.length;
// 按钮数组,与strArr长度对应
JButton[] buttons = new JButton[len];
// 遍历创建JButton
for (int i = 0; i < len; i++) {
buttons[i] = new JButton(strArr[i]);
}





不不不,不是按钮名。 String数组里是变量名。
需要把String数组里的元素和JButton数组里的元素建立引用关系的啊。
JButton button_1 = new JButton("1");
…………
JButton button_100 = new JButton("100");[/quote]

直接用二维数组或者map吧
stacksoverflow 2018-09-05
  • 打赏
  • 举报
回复
直接用数组的下标做对应关系。
Ufutihkbf5 2018-09-05
  • 打赏
  • 举报
回复
引用 2 楼 m0_37461645 的回复:
你看利用循环解决如何:

// 数组:表示按钮名
String[] strArr = { "提交", "登录", "注册", "重置", "前进", "后退" };
// 按钮个数
int len = strArr.length;
// 按钮数组,与strArr长度对应
JButton[] buttons = new JButton[len];
// 遍历创建JButton
for (int i = 0; i < len; i++) {
buttons[i] = new JButton(strArr[i]);
}





不不不,不是按钮名。 String数组里是变量名。
需要把String数组里的元素和JButton数组里的元素建立引用关系的啊。
JButton button_1 = new JButton("1");
…………
JButton button_100 = new JButton("100");
licjd 2018-09-05
  • 打赏
  • 举报
回复
你看利用循环解决如何:

// 数组:表示按钮名
String[] strArr = { "提交", "登录", "注册", "重置", "前进", "后退" };
// 按钮个数
int len = strArr.length;
// 按钮数组,与strArr长度对应
JButton[] buttons = new JButton[len];
// 遍历创建JButton
for (int i = 0; i < len; i++) {
buttons[i] = new JButton(strArr[i]);
}

51,412

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧