java中在输出语句中的返回值和用对象接收的返回值区别?

在Service层中有User类型返回值的find()方法,

然后在Servlet层中:
User user = userService.find();
System.out.println(user);

System.out.println(userService.find());

像这样的直接调用方法输出和先接收再输出有什么不同?实际中两者底层操作不一样。求解答!

没有任何区别,前者多定义了一个变量,后者可以认为函数返回了一个匿名变量。

 【方式1】User user = userService.find();
System.out.println(user);
【方式2】
System.out.println(userService.find());

首先两个在功能上没区别,
方式1:可能多次使用,所以显示的定义了一个变量。
方式2:是如果你只用一次,那么这样写,

这没什么区别,可能是个人编码习惯的问题,当然我个人还是比较喜欢先定义在使用的这样能使你的代码看起来更有序