一般list或是queue都不用限制大小,如果在超出jvm限制的时候用add方法会抛出异常,而offer方法会返回false。我觉得offer和add不存在谁好谁坏的说法。add用在链表中,offer用在队列中,前者是实现了list接口的方法,后者是实现了queue接口的方法,主要是针对不同的场景,选择合适的方法就行了。