Path: csiph.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: Andreas Leitgeb Newsgroups: comp.lang.java.programmer Subject: DefaultTableModel.getDataVector() and Java 11 Date: Wed, 3 Apr 2019 15:53:41 -0000 (UTC) Organization: A noiseless patient Spider Lines: 17 Message-ID: Reply-To: avl@logic.at Injection-Date: Wed, 3 Apr 2019 15:53:41 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="05711f75fa384a44df8cf21cb0776d58"; logging-data="15707"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/7ItUyF2TgcEidsXKqIRLj" User-Agent: slrn/1.0.3 (Linux) Cancel-Lock: sha1:q/gz/wEx2mt4780eJyqyaArQxmQ= Xref: csiph.com comp.lang.java.programmer:38847 In Java up to 8 DefaultTableModel had a method getDataVector() that returned a raw Vector. My application's custom TableModel overrode the method to return a Vector, where MyRowType provided direct type-safe accessors for each column. In Java 11 it seems to have changed to returning a Vector of raw Vectors. At first glance this seems just goofy to me, because that doesn't really make it type-safe (it still involves a raw type), and it even prevents me from making it type-safe myself. I hope, someone here can provide me with a second glance that clarifies the rationale behind the change.