Let's assume you have already decided, for some reason, to use Java. Remember that in a TFM you need to justify every step of the project in terms of the project itself. You might want to use Java if something, like the evaluation function, is already written in Java; if it's not, you need to justify this choice beyond "it's what I know". This is a master in engineering project, and it needs to be justified like that.
Anyway, once you choose the language, there are many libraries to work with evolutionary algorithms in that language. You need to examine the state of the art, and justify decision to use (or not) a standard library such as ECJ or JDEAL.
Let's assume you have already decided, for some reason, to use Java. Remember that in a TFM you need to justify every step of the project in terms of the project itself. You might want to use Java if something, like the evaluation function, is already written in Java; if it's not, you need to justify this choice beyond "it's what I know". This is a master in engineering project, and it needs to be justified like that. Anyway, once you choose the language, there are many libraries to work with evolutionary algorithms in that language. You need to examine the state of the art, and justify decision to use (or not) a standard library such as ECJ or JDEAL.