Java 使用对象列表,如何访问对象属性并打印它们?
简短的问题 我试图学习如何使用对象来指定列表等并访问对象属性。我就是不能让它正常工作 这就是我想要实现的目标:Java 使用对象列表,如何访问对象属性并打印它们?,java,android,flutter,dart,Java,Android,Flutter,Dart,简短的问题 我试图学习如何使用对象来指定列表等并访问对象属性。我就是不能让它正常工作 这就是我想要实现的目标: 创建列表对象列表 将对象添加到列表中 从列表中获取特定对象 在控制台中打印它 我的代码: 对象类 class SearchObject { final String barName; final String latitudeDbRef; SearchObject({this.barName, this.latitudeDbRef}); } 列出声明和对象 List&l
class SearchObject {
final String barName;
final String latitudeDbRef;
SearchObject({this.barName, this.latitudeDbRef});
}
列出声明和对象
List<SearchObject> searchObject = new List();
SearchObject sbo = new SearchObject();
searchObject.add(SearchObject(barName: value, latitudeDbRef: "test"));
print(searchObject.getRange(index, index + 1).map((sbo) {
String bar = sbo.barName.toString();
String lat = sbo.latitudeDbRef.toString();
print("Barname: $bar");
print("latName: $lat");
}));
flutter: Barname: barname
flutter: latName: test
flutter: (null) <- Get rid of this?
访问和打印特定对象
List<SearchObject> searchObject = new List();
SearchObject sbo = new SearchObject();
searchObject.add(SearchObject(barName: value, latitudeDbRef: "test"));
print(searchObject.getRange(index, index + 1).map((sbo) {
String bar = sbo.barName.toString();
String lat = sbo.latitudeDbRef.toString();
print("Barname: $bar");
print("latName: $lat");
}));
flutter: Barname: barname
flutter: latName: test
flutter: (null) <- Get rid of this?
输出
List<SearchObject> searchObject = new List();
SearchObject sbo = new SearchObject();
searchObject.add(SearchObject(barName: value, latitudeDbRef: "test"));
print(searchObject.getRange(index, index + 1).map((sbo) {
String bar = sbo.barName.toString();
String lat = sbo.latitudeDbRef.toString();
print("Barname: $bar");
print("latName: $lat");
}));
flutter: Barname: barname
flutter: latName: test
flutter: (null) <- Get rid of this?
flatter:Barname:Barname
颤振:latName:测试
颤振:(null)class SearchObject{
最终字符串barName;
最后的字符串latitudeDbRef;
const SearchObject({this.barName,this.latitudeDbRef});
}
void main(){
final newSearchObject=新的搜索对象(barName:“foo”,latudedbref:“bar”);
//如何填充列表:
//方法0:内联
最终搜索对象=[newSearchObject];
//方法1:使用.add
最终搜索对象2=[];
searchObjects2.add(newSearchObject);
//方法2:使用+运算符
最终searchObjects3=searchObjects+[newSearchObject];
//方法3:使用扩展运算符:
最终搜索对象4=[…搜索对象,新闻搜索对象];
//使用[]运算符访问特定对象
final specificObject=searchObjects4[0];//小心,如果列表中没有该索引的项,它将抛出。
print(“barName:${specificObject.barName}”);//prints:barName:foo
print(“latitudeDbRef:${specific object.latitudeDbRef}”);//prints:latitudeDbRef:bar
//迭代列表以打印详细信息:
searchObjects4.forEach((对象){
print(“barName:${object.barName}”);//prints:barName:foo
打印(“latitudeDbRef:${object.latitudeDbRef}”);//打印:latitudeDbRef:bar
});
//在iterable中收集详细信息:
final detailsIterable=searchObjects4.map((对象){
返回“barName:${object.barName},latitudeDbRef:${object.latitudeDbRef}”;
});
final detailsList=detailsIterable.toList();
print(detailsList);//prints:[barName:foo,latitudeDbRef:bar,barName:foo,latitudeDbRef:bar]
}
我希望这有帮助。类SearchObject{
最终字符串barName;
最后的字符串latitudeDbRef;
const SearchObject({this.barName,this.latitudeDbRef});
}
void main(){
final newSearchObject=新的搜索对象(barName:“foo”,latudedbref:“bar”);
//如何填充列表:
//方法0:内联
最终搜索对象=[newSearchObject];
//方法1:使用.add
最终搜索对象2=[];
searchObjects2.add(newSearchObject);
//方法2:使用+运算符
最终searchObjects3=searchObjects+[newSearchObject];
//方法3:使用扩展运算符:
最终搜索对象4=[…搜索对象,新闻搜索对象];
//使用[]运算符访问特定对象
final specificObject=searchObjects4[0];//小心,如果列表中没有该索引的项,它将抛出。
print(“barName:${specificObject.barName}”);//prints:barName:foo
print(“latitudeDbRef:${specific object.latitudeDbRef}”);//prints:latitudeDbRef:bar
//迭代列表以打印详细信息:
searchObjects4.forEach((对象){
print(“barName:${object.barName}”);//prints:barName:foo
打印(“latitudeDbRef:${object.latitudeDbRef}”);//打印:latitudeDbRef:bar
});
//在iterable中收集详细信息:
final detailsIterable=searchObjects4.map((对象){
返回“barName:${object.barName},latitudeDbRef:${object.latitudeDbRef}”;
});
final detailsList=detailsIterable.toList();
print(detailsList);//prints:[barName:foo,latitudeDbRef:bar,barName:foo,latitudeDbRef:bar]
}
我希望这会有所帮助。在对象列表中,您可以使用list.singleWhere使用其属性访问对象
请参见下面代码中的示例:
class SearchObject {
final String barName;
final String latitudeDbRef;
SearchObject({this.barName, this.latitudeDbRef});
}
void main(){
List<SearchObject> sbList = new List();
sbList.add(SearchObject(barName: 'barName0', latitudeDbRef: "latitudeDbRef0"));
sbList.add(SearchObject(barName: 'barName1', latitudeDbRef: "latitudeDbRef1"));
sbList.add(SearchObject(barName: 'barName2', latitudeDbRef: "latitudeDbRef2"));
sbList.add(SearchObject(barName: 'barName3', latitudeDbRef: "latitudeDbRef3"));
// retriving searchObject using its properties from searchObjectList.
SearchObject retrievedSB = sbList.singleWhere((tempSB) => tempSB.barName=="barName2" && tempSB.latitudeDbRef=="latitudeDbRef2");
print(retrievedSB.barName + " " + retrievedSB.latitudeDbRef);
// output: barName2 latitudeDbRef2
// retriving searchObject using ONE of its properties from searchObjectList.
SearchObject retrievedSB2 = sbList.singleWhere((tempSB) => tempSB.latitudeDbRef=="latitudeDbRef1");
print(retrievedSB2.barName + " " + retrievedSB2.latitudeDbRef);
//output: barName1 latitudeDbRef1
}
类搜索对象{
最终字符串barName;
最后的字符串latitudeDbRef;
SearchObject({this.barName,this.latitudeDbRef});
}
void main(){
List sbList=新列表();
添加(SearchObject(barName:'barName0',latitudeDbRef:'latitudeDbRef0”);
添加(SearchObject(barName:'barName1',latitudeDbRef:'latitudeDbRef1”);
添加(SearchObject(barName:'barName2',latudedbref:'latudedbref2”);
添加(SearchObject(barName:'barName3',latitudeDbRef:'latitudeDbRef3”);
//使用searchObjectList中的属性检索searchObject。
SearchObject retrievedSB=sbList.singleWhere((tempSB)=>tempSB.barName==“barName2”和&tempSB.latitudeDbRef==“latitudeDbRef2”);
打印(retrievedSB.barName+“”+retrievedSB.latitudeDbRef);
//输出:barName2 latitudeDbRef2
//正在使用searchObjectList中的某个属性检索searchObject。
SearchObject retrievedSB2=sbList.singleWhere((tempSB)=>tempSB.latitudeDbRef==“latitudeDbRef1”);
打印(retrievedSB2.barName+“”+retrievedSB2.latitudeDbRef);
//输出:barName1 latitudeDbRef1
}
在对象列表中,您可以使用list.singleWhere使用对象的属性访问对象
请参见下面代码中的示例:
class SearchObject {
final String barName;
final String latitudeDbRef;
SearchObject({this.barName, this.latitudeDbRef});
}
void main(){
List<SearchObject> sbList = new List();
sbList.add(SearchObject(barName: 'barName0', latitudeDbRef: "latitudeDbRef0"));
sbList.add(SearchObject(barName: 'barName1', latitudeDbRef: "latitudeDbRef1"));
sbList.add(SearchObject(barName: 'barName2', latitudeDbRef: "latitudeDbRef2"));
sbList.add(SearchObject(barName: 'barName3', latitudeDbRef: "latitudeDbRef3"));
// retriving searchObject using its properties from searchObjectList.
SearchObject retrievedSB = sbList.singleWhere((tempSB) => tempSB.barName=="barName2" && tempSB.latitudeDbRef=="latitudeDbRef2");
print(retrievedSB.barName + " " + retrievedSB.latitudeDbRef);
// output: barName2 latitudeDbRef2
// retriving searchObject using ONE of its properties from searchObjectList.
SearchObject retrievedSB2 = sbList.singleWhere((tempSB) => tempSB.latitudeDbRef=="latitudeDbRef1");
print(retrievedSB2.barName + " " + retrievedSB2.latitudeDbRef);
//output: barName1 latitudeDbRef1
}
类搜索对象{
最终字符串barName;
最后的字符串latitudeDbRef;
SearchObject({this.barName,this.latitudeDbRef});
}
void main(){
List sbList=新列表();
添加(SearchObject(barName:'barName0',latitudeDbRef:'latitudeDbRef0”);
添加(SearchObject(barName:'barName1',latitudeDbRef:'latitudeDbRef1”);
添加(SearchObject(barName:'barName2',latudedbref:'latudedbref2”);
添加(SearchObject(barName:'barName3',latitudeDbRef:'latitudeDbRef3”);
//使用searchObjectList中的属性检索searchObject。
SearchObject retrievedSB=sbList.singleWhere((tempSB)=>tempSB.barName==“barName2”和&tempSB.latitudeDbRef==“latitudeDbRef2”);
打印(retrievedSB.barName+“”+retrievedSB.latitudeDbRef);
//产出:b