Java 正在检查字符串参数的值
我有一个查询,我有一个方法,在其中我接收到一个名为head的字符串参数,如下所示Java 正在检查字符串参数的值,java,string,Java,String,我有一个查询,我有一个方法,在其中我接收到一个名为head的字符串参数,如下所示 private String abcd( String head) { // inside the method } 现在我调用这个abcd方法,但我可以传递不同的字符串值head参数 因此,在abcd方法中,假设如果(head=“sgh”)那么我必须执行一些操作,如果head的值是其他值,那么就说s=“gfew”那么我什么也不必做 请告知如何检查字符串头是否将值sgh作为字符串获取。请尝试以下操作: i
private String abcd( String head)
{
// inside the method
}
现在我调用这个abcd方法,但我可以传递不同的字符串值head参数
因此,在abcd方法中,假设如果(head=“sgh”)
那么我必须执行一些操作,如果head的值是其他值,那么就说s=“gfew”
那么我什么也不必做
请告知如何检查字符串头是否将值sgh作为字符串获取。请尝试以下操作:
if ("sgh".equalsIgnoreCase(head)) {
// do something
} else if ("gfew".equalsIgnoreCase(head)) {
// do something other
} else ... // and so on
但是,如果您使用的是Java7,则可以将switch
语句与String
对象一起使用
switch (head) {
case "sgh" : {
//do something
}
case "gfew" : {
// do someting else
}
..
}
你可能需要调查一下。试试这个
private String abcd( String head) {
if (head == null) {
IllegalArgumentException iae = new IllegalArgumentException("Parameter is null");
iae.initCause(new NullPointerException("parameter is null"));
throw new iae;
}
if "sgh".equals(head) {
//do something
}
else if "gfew".equals(head) {
//do something
}
else {
//something else
}
}
如果你不关心case,那么你可以像这样使用
private String abcd( String head)
{
if(head.contains("sgh"))
{
// head contain "sgh"
} else {
//doesnt contain "sgh"
}
}
您可以使用switch case.Basic IF语句和equals()方法不合适吗?如果(head.equals(“sgh”){@Infragile,则容易出现NullPointerException,如果
head==null
。它应该是“sgh.equals(head)
:)