这个成语出自《韩非子·难一》.
古时候,矛和盾都是作战用的武器.矛用来刺杀敌人,盾则用来保护身体,以免被对方的矛刺中.
传说很久以前,楚国有个卖兵器的人,在市场上卖矛和盾.为了让人家愿意买他的货,他先举起盾向人们夸口道:“你们看,我的盾是世上最坚固的盾,任何锋利的东西都不能刺穿它.”接着又举起他的矛,向人吹嘘说:“你们再看看我的矛,它锋利无比,无坚不摧,无论多么坚硬的盾,都挡不住它,一刺就穿!”
围观的人听了他的话都觉得很好笑,人群中有人问道:“依你的说法,你的矛无论怎样坚硬的盾都能刺穿,而你的盾又是无论多么锋利的矛也不能把它刺穿.那就拿你的矛来刺你的盾吧,看看结果怎么样?”
卖兵器的人听了张口结舌,无从回答,只好拿着矛和盾走了.
“自相矛盾”就是由这个故事演变而来的.现在人们用它来比喻做事、说话前后自相抵触.