Java 如何从不同的类中获得确切的对象?
我创建一个对象:Java 如何从不同的类中获得确切的对象?,java,android,Java,Android,我创建一个对象: public class Info { private ArrayList<Object> list; public Info(){ this.list = new ArrayList<>(); } public Info getInfo(){ return this; } public void put(final byte[] macAddress, final Str
public class Info {
private ArrayList<Object> list;
public Info(){
this.list = new ArrayList<>();
}
public Info getInfo(){
return this;
}
public void put(final byte[] macAddress, final String name) {
HashMap<byte[], String> map = new HashMap<>();
map.put(macAddress,name);
list.add(map);
}
public ArrayList getList(){
return list;
}
但是我想从另一个类中获取这个对象。如何获取此对象?(我只创建/新建一次)如果您想要相同的对象。尝试使用HashMap并实现equals和hashCode方法,并基于key获取对象。 另一个想法 在另一个类中创建Info类的实例变量,并在参数化构造函数中创建实例时发送此Info对象并指定该值 假设你的另一个班是ABC
Info info = new Info();
info.put(mAddress1,mName1);
info.put(mAddress2,mName2);
ABC abc=new ABC(info);
class ABC{
Info info;
public ABC(Info info)
this.info=info
}
如果你想要相同的对象。尝试使用HashMap并实现equals和hashCode方法,并基于key获取对象。 另一个想法 在另一个类中创建Info类的实例变量,并在参数化构造函数中创建实例时发送此Info对象并指定该值 假设你的另一个班是ABC
Info info = new Info();
info.put(mAddress1,mName1);
info.put(mAddress2,mName2);
ABC abc=new ABC(info);
class ABC{
Info info;
public ABC(Info info)
this.info=info
}
1。将信息类设置为singleton
public class Info {
public static Info info;
private ArrayList<Object> list;
public static Info getInstance(){
if(info == null)
info = new Info();
return info;
}
private Info(){
this.list = new ArrayList<>();
}
public void put(final byte[] macAddress, final String name) {
HashMap<byte[], String> map = new HashMap<>();
map.put(macAddress,name);
list.add(map);
}
public ArrayList getList(){
return list;
}
}
1。将信息类设置为singleton
public class Info {
public static Info info;
private ArrayList<Object> list;
public static Info getInstance(){
if(info == null)
info = new Info();
return info;
}
private Info(){
this.list = new ArrayList<>();
}
public void put(final byte[] macAddress, final String name) {
HashMap<byte[], String> map = new HashMap<>();
map.put(macAddress,name);
list.add(map);
}
public ArrayList getList(){
return list;
}
}
你需要了解一下
singleton模式是一种限制
将类实例化为一个对象。这是非常有用的
需要一个对象来协调整个系统中的操作
公共类信息{
私人信息(){
//存在只是为了阻止实例化。
this.list=new ArrayList();
}
公共静态信息=null;
公共静态信息getinstance(){
如果(info==null)info=newinfo();
退货信息;
}
私有数组列表;
公共信息(){
this.list=new ArrayList();
}
公共信息getInfo(){
归还这个;
}
公共void put(最终字节[]macAddress,最终字符串名){
HashMap=newHashMap();
map.put(macAddress,name);
列表。添加(地图);
}
公共ArrayList getList(){
退货清单;
}
您需要了解
singleton模式是一种限制
将一个类实例化为一个对象。当
需要一个对象来协调整个系统中的操作
公共类信息{
私人信息(){
//存在只是为了阻止实例化。
this.list=new ArrayList();
}
公共静态信息=null;
公共静态信息getinstance(){
如果(info==null)info=newinfo();
退货信息;
}
私有数组列表;
公共信息(){
this.list=new ArrayList();
}
公共信息getInfo(){
归还这个;
}
公共void put(最终字节[]macAddress,最终字符串名){
HashMap=newHashMap();
map.put(macAddress,name);
列表。添加(地图);
}
公共ArrayList getList(){
退货清单;
}
从其他类方式获取对象?是否要使类信息成为单例?您可以在intent中使用parcelable实现此目的您只需在任何类中创建一次,然后使用parcelable将该对象传递给intent即可从其他类方式获取对象?是否要使类信息成为单例?您可以在inte中使用parcelable实现此目的n您只需在任何类中创建一次,然后使用parcelable将该对象传递给intent
public class Info {
private Info(){
// Exists only to defeat instantiation.
this.list = new ArrayList<>();
}
public static Info info = null;
public static Info getinstance(){
if(info == null) info = new Info();
return info;
}
private ArrayList<Object> list;
public Info(){
this.list = new ArrayList<>();
}
public Info getInfo(){
return this;
}
public void put(final byte[] macAddress, final String name) {
HashMap<byte[], String> map = new HashMap<>();
map.put(macAddress,name);
list.add(map);
}
public ArrayList getList(){
return list;
}