The only real difference is that you don't have to jump through hoops to make things immutable in functional languages; it's automatic. With java, you need to force classes to be non-extendable (by making the class final or all of its constructors private) and make certain that none of your fields can change (either by only using primitive and immutable objects for fields or making copies of them on the way in and out).
But immutability is immutability, no matter what type of language you use.