Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何仅使用一种方法返回两个不同的值?_Java_Mysql - Fatal编程技术网

Java 如何仅使用一种方法返回两个不同的值?

Java 如何仅使用一种方法返回两个不同的值?,java,mysql,Java,Mysql,如何在MySQL表中分别返回两种不同类型的列int和string?我试过使用这个代码,但我想不出来。拜托,你能告诉我怎么了吗 请注意:::我想返回keyid\u col和key\u col 这是我的代码::: public void retrieve_keyword () throws SQLException{ try { ResultSet results = statement.executeQuery ("SELECT key

如何在MySQL表中分别返回两种不同类型的列int和string?我试过使用这个代码,但我想不出来。拜托,你能告诉我怎么了吗

请注意:::我想返回keyid\u col和key\u col

这是我的代码:::

 public  void retrieve_keyword () throws SQLException{

    try {
        ResultSet results = statement.executeQuery
                ("SELECT keyword_id,key_words  FROM keywordlist");  
        try {

            while ( results.next() ) {
                int numColumns =
                        results.getMetaData().getColumnCount();
                int keyid_col = results.getInt("keyword_id");
                String key_col = results.getString("key_words");

                if (numColumns == 2) {
                    System.out.println(results.getObject(numColumns));
                }

                for ( int i = 1 ; i <= numColumns ; i++ ) {
                    System.out.println( "COLUMN " + i + " = " + results.getObject(i) );
                }        
            }
        } 

        catch(Exception ew){
            System.out.println( ew );
        }
    }catch(Exception ew){
        System.out.println( ew );
    }
}

Java不支持这种开箱即用的方式。您需要创建一个数据结构并使用它。例如:

 public class retType {
     public retType( int val1, string val2 ) {
           this.val1 = val1; 
           this.val2 = val2;
     }
     public int val1;
     public string val2;
 }

 public retType someFunc()
 {
     int i = 1;
     string j = "example";
     return new retType(i, j);
 }

Java不支持这种开箱即用的方式。您需要创建一个数据结构并使用它。例如:

 public class retType {
     public retType( int val1, string val2 ) {
           this.val1 = val1; 
           this.val2 = val2;
     }
     public int val1;
     public string val2;
 }

 public retType someFunc()
 {
     int i = 1;
     string j = "example";
     return new retType(i, j);
 }

可以返回数组、列表或其他面向集合的数据结构,也可以返回具有两个属性的类型类或结构的实例,每个属性对应一个


Java、Javascript、C等语言不允许多个返回项。您必须返回包含与您相关的内容的内容。

您可以返回数组、列表或其他面向集合的数据结构,也可以返回具有两个属性的类型类或结构的实例,每个属性对应一个


Java、Javascript、C等语言不允许多个返回项。您必须返回包含与您相关的内容的内容。

在Java和大多数语言中,您不能从一个方法返回两个值。替代方法是传入一个对象,并更改对象中的值,或者将返回值包装为对象。或者可以返回一些集合,如列表、集合或映射。

在Java和大多数语言中,不能从一个方法返回两个值。替代方法是传入一个对象,并更改对象中的值,或者将返回值包装为对象。或者您可以返回一些集合,如列表、集合或地图。

您的选择是定义一个类,该类包含您想要的字段,如Skyhawk船长的示例所示,或者返回一个对象[],该对象可以简单地携带一个整数和一个字符串对象。这方面的一个例子是

Object objArrayReturnValue[] = { new Integer(51), "abcd" };
return objArrayReturnValue;

这很容易,但也很“懒惰”,因为大多数人都不鼓励使用它。当您返回一个对象数组时,您将失去像Java这样的大多数强类型语言的许多好处。

您的选择是定义一个类,该类包含您想要的字段,如Skyhawk船长的示例所示,或者返回一个对象[],该对象可以简单地携带一个整数和一个字符串对象。这方面的一个例子是

Object objArrayReturnValue[] = { new Integer(51), "abcd" };
return objArrayReturnValue;

这很容易,但也很“懒惰”,因为大多数人都不鼓励使用它。当您返回一个对象数组时,您将失去像Java这样的强类型语言的许多好处。

我使用HashMap来实现这一点:

public Map<String, String> getUser() throws SQLException {
  Map<String, String> users = new HashMap<>();
  ...do query...
  users.put(p_key,username);
  return users; 
}

如果本机集合不能为您执行此操作,那么您将需要一个自定义对象来执行此操作。i、 我们返回一个类

我使用HashMap执行此操作:

public Map<String, String> getUser() throws SQLException {
  Map<String, String> users = new HashMap<>();
  ...do query...
  users.put(p_key,username);
  return users; 
}
如果本机集合不能为您执行此操作,那么您将需要一个自定义对象来执行此操作。i、 我们返回一个类

您可以使用Pair类

您可以使用结对类


你需要返回一个类。没有亲爱的SLaks我需要返回keyid\u col和keyid\u col今天第二次问-我标记为“太本地化”,因为我不认为这是一个明显的重复-但后一次投票获胜。你需要返回一个类。没有亲爱的SLaks我需要返回keyid\u col和keyid\u col今天第二次问-我标记为“太本地化”,因为我不认为这是一个明显的重复,但后者的投票获胜。