Javaでビット列を解釈するときはどんな風に書くの?

たとえばIPヘッダを解釈するときとか。
CだとIPヘッダと同じフォーマットの構造体をつくってキャストすると
その構造体のフィールドを使って見たり書いたりできると思うけど。