В общем, я не верю, что есть функция, встроенная в Java, которая позволяет вам делать это.
Вместо этого рассмотрите возможность отправки дополнительной информации вместе с каждым сообщением, объясняющим, какой тип будет следующим.
Например, вы можете добавить к вашим сообщениям целое число, чтобы каждый раз, когда вы получаете сообщение, вы читали первые 4 байта (целое число составляло 4 байта) и интерпретировали его значение (например, 1 = байтовый массив, 2 = пользовательский объект Java, 3 = другой пользовательский объект Java, ...).
Вы можете также рассмотреть возможность добавления целого числа, содержащего размер сообщения, чтобы вы знали, когда заканчивается текущее сообщение и начинается следующее сообщение.