Thank you for your suggestion, but I think you may have misunderstood the problem due to my poor explanation.
For example, I want to make a mod that using an item of material "blaze rod" with display name "lightning rod" to right-click a block, then a lightning will strike that block.
I want this to happen only when the item type and display name are both correct.
A normal blaze rod wouldn't trigger this event even though the type is correct, the display name of it is not correct.
The method you suggested wouldn't work because type and display name are two different data in an item and can never be compared.
I have solved this problem by myself. I finally discovered that the display name is stored in another big data called "ItemMeta" while the type and this "ItemMeta" are stored directly under the item stack.
Therefore I need to get those information in the following way:
Set "player" to "info" 's player
Set "item" to "player" 's ItemInHand
Set "type" to "item" 's type
Set "ItemMeta" to "item" 's ItemMeta
Set "Name" to "ItemMeta" 's DisplayName