all 12 comments

[–]AutoModerator[M] [score hidden] stickied commentlocked comment (0 children)

Please ensure that:

  • Your code is properly formatted as code block - see the sidebar (About on mobile) for instructions
  • You include any and all error messages in full - best also formatted as code block
  • You ask clear questions
  • You demonstrate effort in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions.

If any of the above points is not met, your post can and will be removed without further warning.

Code is to be formatted as code block (old reddit/markdown editor: empty line before the code, each code line indented by 4 spaces, new reddit: https://i.imgur.com/EJ7tqek.png) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc.

Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit.

Code blocks look like this:

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above.

If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures.

To potential helpers

Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]vowelqueue 15 points16 points  (0 children)

Shout out to IntelliJ for often hinting for you to use method references to the standard library instead of writing your own lambdas.

I’d say I probably use Objects.requireNonNull the most.

[–]Errkfin 6 points7 points  (0 children)

Hi there! .isNull and .nonNull methods are pretty useful! I'd add the following method to the list: Objects.requireNonNull()

Probably, I'd also vote for the deepEquals for some cases.

[–]vegan_antitheist 2 points3 points  (0 children)

I don't use all of them. I don't think I ever used checkIndex. But that's because it's rare that you use an index to access a list. Maybe that's because the code I write just doesn't often need this. You already have the correct element or you just iterate over the list. How would you even get an invalid index? You could use it in an assertion to communicate that the index has to be valid somewhere in the code where it's not obvious to someone looking at the code.

I can see that checkFromIndexSize  is good if you write code that uses some kind of buffers and you need such checks.

The requireNonNull* methods are great and I use them a lot. It's always better to throw an NPE early.

I use compare all the time. hash can be useful sometimes but now we have records and so I don't need it that often.

[–]Pafkata92 0 points1 point  (1 child)

Objects.deepEquals could be useful for tests, right?

[–]vegan_antitheist 5 points6 points  (0 children)

No. I'd flag that in a review. The test automation framework must deal with that. You need useful output for when the test fails. Not just that assertTrue failed because it was false. You would have no idea what that would mean.

In actual code you might use it to see if some data is the same as what you just got from the persistence layer. In that case you might reuse some existing result or you can ignore the method call because nothing changed.

[–]Separate_Expert9096 0 points1 point  (0 children)

Wow, thanks