【发布时间】:2018-02-10 00:22:36
【问题描述】:
我正在使用 iText 5G 编写应用程序,我看到一段代码不允许在页面末尾拆分表格,但该代码是用 C# 编写的,我已将几乎所有代码转换为 Java 但我被困在一行中,我不知道 Java 中的等价物。
C# 代码:
public override IList<iTextSharp.text.IElement> End(iTextSharp.tool.xml.IWorkerContext ctx, iTextSharp.tool.xml.Tag tag, IList<iTextSharp.text.IElement> currentContent)
{
string keeprowstogetherattr = "keeprowstogether";
var retval = base.End(ctx, tag, currentContent);
if (tag.Attributes.ContainsKey(keeprowstogetherattr) && tag.Attributes[keeprowstogetherattr] == "true")
{
foreach (PdfPTable table in retval.OfType<PdfPTable>())
{
table.KeepRowsTogether(0);
}
}
return retval;
}
我现在的Java代码:
public List<Element> End(WorkerContext ctx, Tag tag, List<Element> currentContent)
{
{
String keeprowstogetherattr = "keeprowstogether";
List<Element> retval = super.end(ctx, tag, currentContent);
if (tag.getAttributes().containsKey(keeprowstogetherattr) && tag.getAttributes().get(keeprowstogetherattr) == "true");
{
for (PdfPTable table : retval.OfType<PdfPTable>())
{
table.keepRowsTogether(0);
}
}
return retval;
}
}
我卡住的那条线:
PdfPTable table : retval.OfType<PdfPTable>()
我不知道 Java 中 C# 的 OfType 的等价物。 谢谢。
编辑:我的min API 是 19,所以 stream() 不起作用。
【问题讨论】:
-
@poke:这不是重复的,因为 OP 不能使用 Streams API。