本文目录一览:
java中返回值的类型及含义
1、用类名作方法返回,即返回该类的实体类对象
2、该对象里面的属性都是能够在这个方法里面通过查询sql或者赋值来访问到的
// 实体类
public class User
{
private String name;
private int age;
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
//...下面的age不写了
}
// 实现方法类:
public class Demo
{
public User getUserInfo() // 返回实体类对象
{
User user = new User();
user.setName("张三");
user.setAge(15);
return user;
}
}
JAVA中返回boolean的方法?
这两种是有区别的。
先说第一种:
if(this==i) return true, 这只有一种情况 就是当this==i的时候,返回为true,如果不等于的时候呢,就没有返回值,所以方法会报错。
除非,你写成这样,则和第二种方法上在逻辑层面来说并没有太大的一个区别。
if(this==i){
return true;
}else{
return false;
}
再说第二种:return this == i; 返回值可能是true,也可能是false;但不管是哪种返回值,这个方法都能获得方法值,所以方法不会报错。
所以,在没有特殊的要求前提下,建议使用第二种方法,至少代码会更精炼一些。
Java中返回参数值的几种状态
下面给你介绍4种Java中返回参数值状态:
一、Java 中无参无返回值方法的使用
第一步,定义方法
例如:下面代码定义了一个方法名为 show ,没有参数,且没有返回值的方法,执行的操作为输出 “ welcome to imooc. ”
注意哦:
1、 方法体放在一对大括号中,实现特定的操作
2、 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式
第二步,调用方法
当需要调用方法执行某个操作时,可以先创建类的对象,然后通过 对象名.方法名(); 来实现
二、Java 中无参带返回值方法的使用
如果方法不包含参数,但有返回值,我们称为无参带返回值的方法。
三、Java 中带参无返回值方法的使用
有时方法的执行需要依赖于某些条件,换句话说,要想通过方法完成特定的功能,需要为其提供额外的信息才行。例如,现实生活中电饭锅可以实现“煮饭”的功能,但前提是我们必须提供食材,如果我们什么都不提供,那就真是的“巧妇难为无米之炊”了。我们可以通过在方法中加入参数列表接收外部传入的数据信息,参数可以是任意的基本类型数据或引用类型数据。
四、Java 中带参带返回值方法的使用
如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法。
java 如何能在一个方法中返回多个值?
最开始说一下我使用的解决办法:Pair 和 Triple
偶然看到这个问题,浏览量也很大,还是写一下我认为最好的办法吧,跟大家交流一下。
说一下前面的人答的方案,都可以解决问题,但是觉得不太好。您要是说 可以解决问题就行,那我无话可说。写代码如果只是为了完成任务,不考虑实现是否优雅 和咸鱼有什么区别呢。
数组明显不合适,数组适合放同一类型的数据,当然,你可以使用ListObject,用Object 放结果,调用方需要知道Object的实际类型并做强制转换,不够优雅,差评
MapString,Object 是一种能解决问题的做法,使用Object 来放结果也存在调用方需要知道其实际类型并做强转的问题,用key 作区分,方法调用者需要知道方法内部的key ,即使使用全局变量做key 也不够优雅
自定义对象,新建一个类,例如 public class DoubleResultA, B{getter; allArgsConstructor;}、public class TripleResultA, B, C{getter; allArgsConstructor;
} ,效果棒棒的
接下来要说的 Pair 和Triple 就是上面第三种方案的实现。org.apache.commons.lang3.tuple.Pair,org.apache.commons.lang3.tuple.Triple 是commons-lang包里的两种元组类型。PairL,R可以存两个数据,TripleL,M,R 可以存三个,再多 那么考虑一下你的方法是否可以拆一下。
简单说一下他们的用法吧。
Pair 初始化:
Pair.of(L left, R right);
例:Pair.of("a","b");
或:
PairObject,Object pair = new PairObject, Object() {
@Override
public Object getLeft() {
return null;
}
@Override
public Object getRight() {
return null;
}
@Override
public Object setValue(Object value) {
return null;
}
};
Triple 初始化:
Triple.of(L left, M middle, R right)
或:
TripleObject, Object, Object triple = new TripleObject, Object, Object() {
@Override
public Object getLeft() {
return null;
}
@Override
public Object getMiddle() {
return null;
}
@Override
public Object getRight() {
return null;
}
};
Pair 获取内容:
pair.getKey();
pair.getValue();
Triple 获取内容:
triple.getLeft();
triple.getMiddle();
triple.getRight();
另外org.apache.commons.lang3.tuple 包下还有ImmutablePair、ImmutableTriple、MutablePair、MutableTriple 分别对应两种结构的不可变和可变类型,大家可以自行探索。