如何将Java ArrayList值显示为逗号分隔的值

如何将Java ArrayList值显示为逗号分隔的值,java,arraylist,output,Java,Arraylist,Output,我有一个场景,我需要从web服务api获取500,并将最终输出值显示为逗号分隔的值,如id、名称、所有者、帐户、路径和值。为了实现这一点,我正在编写一个方法,在这个方法中,我获取所有这些信息并设置为一个java对象。字段如下。最后,我创建了一个列表来保存这些视频对象。视频。添加(视频) 字符串标识符; 字符串名; 字符串所有者名称; 字符串accountName; 字符串中介路径; 名单; 现在,如何显示视频列表对象的输出。请帮我解决这个问题 代码是: for (String mediaId

我有一个场景,我需要从web服务api获取500,并将最终输出值显示为逗号分隔的值,如id、名称、所有者、帐户、路径和值。为了实现这一点,我正在编写一个方法,在这个方法中,我获取所有这些信息并设置为一个java对象。字段如下。最后,我创建了一个列表来保存这些视频对象。视频。添加(视频)

字符串标识符;
字符串名;
字符串所有者名称;
字符串accountName;
字符串中介路径;
名单;
现在,如何显示视频列表对象的输出。请帮我解决这个问题

代码是:

for (String mediaId : mediaList) {
                    if (mediaId != null) {
                        String mediaFullPath = getMediaPath(mediaId);
                        entryInfo = getMedia(mediaId);
                        metadataList = getMetadata(mediaId);
                        ccs = getClosedCaptions(mediaId);
                        if (entryInfo != null) {
                            video = new Video();
                            System.out.println("entryInfo.id"
                                    + entryInfo.id);
                            System.out.println("entryInfo.name"
                                    + entryInfo.name);
                            System.out.println("mediaFullPath"
                                    + mediaFullPath);
                            video.setIdentifier(entryInfo.id);
                            video.setName(entryInfo.name);
                            video.setMediaPath(mediaFullPath);
                        }

                        if (metadataList != null
                                && metadataList.totalCount != 0) {
                            List<KalturaMetadata> metadataObjs = metadataList.objects;
                            if (metadataObjs != null
                                    && metadataObjs.size() > 0) {
                                for (int i = 0; i < metadataObjs.size(); i++) {
                                    KalturaMetadata metadata = metadataObjs
                                            .get(i);
                                    if (metadata != null) {
                                        if (metadata.xml != null) {
                                            metadataValues = parseXml(metadata.xml);
                                            if (metadataValues.size() != 0) {
                                                ibmAccountList = metadataValues
                                                        .get(0);
                                                for (String account : ibmAccountList) {
                                                    System.out
                                                            .println("IBM Account Name ------->"
                                                                    + account);
                                                    video.setAccountName(account);
                                                }
                                                ownerList = metadataValues
                                                        .get(1);
                                                for (String owner : ownerList) {
                                                    System.out
                                                            .println("Account Owner Name ------->"
                                                                    + owner);
                                                    video.setOwnerName(owner);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    if (ccs.size() != 0) {
                        for (Map.Entry<String, List<KalturaCaptionAsset>> entry : ccs
                                .entrySet()) {
                            String key = entry.getKey();
                            List<KalturaCaptionAsset> values = entry
                                    .getValue();
                            // System.out.println("Key = " + key);
                            for (KalturaCaptionAsset asset : values) {
                                System.out.println(" CC value : "
                                        + asset.language);
                                ccList.add(asset.language);
                                video.setCcList(ccList);
                                videos.add(video);
                            }
                        }
                    }
                }
for(字符串mediaId:mediaList){
if(mediaId!=null){
字符串mediaFullPath=getMediaPath(mediaId);
entryInfo=getMedia(mediaId);
metadataList=getMetadata(mediaId);
ccs=getClosedCaptions(mediaId);
if(entryInfo!=null){
视频=新视频();
System.out.println(“entryInfo.id”
+entryInfo.id);
System.out.println(“entryInfo.name”
+entryInfo.name);
System.out.println(“mediaFullPath”
+mediaFullPath);
设置标识符(entryInfo.id);
video.setName(entryInfo.name);
video.setMediaPath(mediaFullPath);
}
if(metadataList!=null
&&metadataList.totalCount!=0){
List metadataObjs=metadataList.objects;
如果(metadataObjs!=null
&&metadataObjs.size()>0){
对于(int i=0;i”
+账户);
video.setAccountName(帐户);
}
ownerList=元数据值
.get(1);
for(字符串所有者:所有者列表){
系统输出
.println(“帐户所有者名称------->”
+业主);
video.setOwnerName(所有者);
}
}
}
}
}
}
}
}
如果(ccs.size()!=0){
对于(地图条目:ccs
.entrySet()){
String key=entry.getKey();
列表值=条目
.getValue();
//System.out.println(“Key=“+Key”);
对于(资产:价值){
System.out.println(“CC值:”
+资产负债表(语文);
ccList.add(asset.language);
视频设置列表(ccList);
视频。添加(视频);
}
}
}
}

您走错了方向。只需在
Video
类中实现您的
toString
方法

当您迭代列表并打印视频对象时,它会在视频类中调用
toString
方法


在视频类中提供实现时,生成所需格式的字符串。

需要获取500个什么?您是否希望按特定顺序打印列表中的所有视频pojo对象,请详细说明您的问题。我实际上认为这不是一个好主意
toString
用于简短的人类可读表单(例如用于日志记录和调试),而不是作为数据传输和转换的基础。我将为此创建一个单独的方法(
getAsCsv()
或类似的方法)。谢谢。重写toString方法时,如何显示列表字段的所有列表值。公共字符串toString(){return identifier+”,“+name+”,“+ownerName+”,“+mediaPath+”,“+accountName;}@realponsibilist抱歉,我强烈反对。使用有价值的信息实现适当的toString不是一个坏主意:)这不是一个坏主意。你应该一直这样做。但您不应该将其用作任何类似序列化/反序列化的基础。分离使用可以使
for (String mediaId : mediaList) {
                    if (mediaId != null) {
                        String mediaFullPath = getMediaPath(mediaId);
                        entryInfo = getMedia(mediaId);
                        metadataList = getMetadata(mediaId);
                        ccs = getClosedCaptions(mediaId);
                        if (entryInfo != null) {
                            video = new Video();
                            System.out.println("entryInfo.id"
                                    + entryInfo.id);
                            System.out.println("entryInfo.name"
                                    + entryInfo.name);
                            System.out.println("mediaFullPath"
                                    + mediaFullPath);
                            video.setIdentifier(entryInfo.id);
                            video.setName(entryInfo.name);
                            video.setMediaPath(mediaFullPath);
                        }

                        if (metadataList != null
                                && metadataList.totalCount != 0) {
                            List<KalturaMetadata> metadataObjs = metadataList.objects;
                            if (metadataObjs != null
                                    && metadataObjs.size() > 0) {
                                for (int i = 0; i < metadataObjs.size(); i++) {
                                    KalturaMetadata metadata = metadataObjs
                                            .get(i);
                                    if (metadata != null) {
                                        if (metadata.xml != null) {
                                            metadataValues = parseXml(metadata.xml);
                                            if (metadataValues.size() != 0) {
                                                ibmAccountList = metadataValues
                                                        .get(0);
                                                for (String account : ibmAccountList) {
                                                    System.out
                                                            .println("IBM Account Name ------->"
                                                                    + account);
                                                    video.setAccountName(account);
                                                }
                                                ownerList = metadataValues
                                                        .get(1);
                                                for (String owner : ownerList) {
                                                    System.out
                                                            .println("Account Owner Name ------->"
                                                                    + owner);
                                                    video.setOwnerName(owner);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    if (ccs.size() != 0) {
                        for (Map.Entry<String, List<KalturaCaptionAsset>> entry : ccs
                                .entrySet()) {
                            String key = entry.getKey();
                            List<KalturaCaptionAsset> values = entry
                                    .getValue();
                            // System.out.println("Key = " + key);
                            for (KalturaCaptionAsset asset : values) {
                                System.out.println(" CC value : "
                                        + asset.language);
                                ccList.add(asset.language);
                                video.setCcList(ccList);
                                videos.add(video);
                            }
                        }
                    }
                }