I am trying to concatenate two arrays to add labels to the columns of a numeric array and also to add a total after the last row of the array. I have found some code on another Stack Overflow thread How can I concatenate two arrays in Java?. But I get an error
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [[Ljava.lang.Object;
Here is my code
public void getpdf(double[][] pricelist, ArrayList<Piece> in) { PDDocument doc = new PDDocument(); PDPage page = new PDPage(); doc.addPage( page ); try { PDPageContentStream contentStream = new PDPageContentStream(doc, page); JTable table=gettable(pricelist,in); Object[] headercol={"Type","Asc","Ref","Commandes","Prix unitaire","Prix total"}; Object[][] content=getTableData(table); Object[][] global=(Object[][]) concatenate (headercol,content); //drawTable(page, contentStream, 700, 75, headercol); drawTable(page, contentStream, 700, 75, content); contentStream.close(); doc.save("bill.pdf" ); } catch (IOException ex) { ex.printStackTrace(); } } public <T> T[] concatenate (T[] a, T[][] b) { int aLen = a.length; int bLen = b.length; @SuppressWarnings("unchecked") T[] c = (T[]) Array.newInstance(a.getClass().getComponentType(), aLen+bLen); System.arraycopy(a, 0, c, 0, aLen); System.arraycopy(b, 0, c, aLen, bLen); return c; }
T[] caT[][] b, which are two incompatible types