Collections JRuby对集合进行迭代

Collections JRuby对集合进行迭代,collections,jruby,Collections,Jruby,我有一个sun.security.x509.X509CertImpl对象,JRuby将其视为“集合”。因为集合可能包含多个x509证书,所以我尝试遍历集合并打印出所有证书 有人能提供一些关于如何实现这一点的建议吗 问候, 卡尔,你试过这个吗 your_object.each{|each|puts each} 这将在我的代码中打印集合中的每个元素。 cert_chain = key_store.getX509CertificateChain(key_alias) =>Java::JavaUti

我有一个sun.security.x509.X509CertImpl对象,JRuby将其视为“集合”。因为集合可能包含多个x509证书,所以我尝试遍历集合并打印出所有证书

有人能提供一些关于如何实现这一点的建议吗

问候,

卡尔,你试过这个吗

your_object.each{|each|puts each}
这将在我的代码中打印集合中的每个元素。

cert_chain = key_store.getX509CertificateChain(key_alias)
=>Java::JavaUtil::Collections::UnmodifiableRandomAccessList

这是一个集合,您可以使用标准的Ruby方法

cert_chain.size
=>4

=>Java::Sunsecurityxx509::X509CertImpl

您不能将其作为集合进行迭代,因为它不是集合

cert_chain[0].publicKey

=>Java::SunSecurityRsa::RSAPublicKeyImpl

是的,我试过了。它抛出以下类型错误:TypeError:无法将Java::Sunsecurityxx509::X509CertImpl转换为StringWhat's
put each.to\s
put each.toString()
然后呢?不幸的是,同样的问题!TypeError:无法将Java::Sunsecurityxx509::X509CertImpl转换为StringWeird。当用Java打印对象时,你会得到同样的结果吗?试试
你的_对象。每个{each |放置每个.methods.sort}
,看看你需要处理什么。。。
cert_chain[0].publicKey