ResultSetMetaData НЕ предоставляет никакой информации о классе. Он предоставляет специфичные для базы данных типы данных, которые не отображаются автоматически на классы Java (например, «cidr» или «int8» в мире PostgreSQL), поэтому это предложение (кстати, не включало никакого исходного кода) на самом деле не помогает.
Кроме того, комментарий Джейсона Николса «Я думаю, что важно спросить, зачем вам нужно возвращать такое конкретное значение», показывает общую неосведомленность о том, как класс JTable используется в реальном мире.
Я бы хотел найти решение этой проблемы, когда у таблиц нулевые строки, где я все еще могу выяснить, что такое класс Java, который я должен использовать для визуализации своих ячеек для всего столбца. Идея о том, что выходные данные могут изменяться, основана на еще большей степени невежественности в отношении баз данных - тип данных столбца указывается в определении этого столбца, и независимо от того, какое его содержимое имеет тип данных, он не меняется в зависимости от того, какую строку вы используете. Смотрю это.
Конечно, одна из проблем с базами данных заключается в том, что определения столбцов могут разрешать или не разрешать значения NULL, и любой, кто подклассифицирует JTable для этого, должен понимать эту основную предпосылку и знать, как это проверять.