I think I solved it!
The problem was not that Hamcrest does not match the way I described in the question. It was that I had a List of Long:s.
I was refering to hasItemInArray
which uses hasValue
(comparing primitive types) rather than hasItem
(comparing objects).
So the code above works with a minor modification:
arrayOne, hasItem(isIn(arrayTwo));
This is acually a somewhat confusing naming convention.