Listing all the chars in a given UnicodeBlock
It is truly unfortunate that Character.UnicodeBlock doesn't have a min() and max().  In fact, the way it is implemented in OpenJDK is as a private static  blockStarts table, which is entirely unhelpful to you.

I don't have a better solution, but rather a complication.  The Java char type only covers the Basic Multilingual Plane.  To be pedantic, you would need to cover even larger codepoints, with Character.UnicodeBlock.of(int)!  (For example, Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B starts at U+20000, which cannot be encoded using a single char, and therefore iterating up to 216 would not find it.)

It appears that existing Unicode blocks have sizes that are multiples of 16, so you could take advantage of that instead of testing every single codepoint.

Code blocks are contiguous.  Therefore, a possible optimization is that once you have found a character that is in the desired block, if you then encounter a character that is not in the block, then you're done.