# Java can surprise you I thought I knew Java, I'd written code in it for a few years now, but I was *wrong*. While I was able to solve a problem in Java, I didn't really understand it, I had just developed enough mental workarounds to make it appear so. With this little project, I'll try to remedy this a bit. I have to write more Java now, and I'd like to be able to say "I know Java" with confidence. Recently, I came across an interesting idea: to start playing with a language using unit tests, so as to test your understanding of the language and practicing testing at the same time. So I'll try this style of playing on for size. ## Open questions * output arguments * string immutability * copying/passing objects and primitives (when is it a copy, when a reference)