了解何时使用对象作为返回类型 请考虑下面的代码。我试图理解对象返回类型的需要。可能我还没有完全理解什么时候我们应该在方法中使用返回类型作为对象,我想 通过以下代码,您可以看到,AdNewCpp方法在doGet方法中被调用,AdNewCpp方法的返回类型被定义为Object。我想知道是否有什么可以做的 是否可以用它代替对象作为返回类型 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.setContentType("text/html;charset=UTF-8"); // Allocate a output writer to write the response message into the network socket PrintWriter out = response.getWriter(); // Use ResourceBundle to keep localized string in "LocalStrings_xx.properties" // Write the response message, in an HTML page try { out.println("<!DOCTYPE html"); // HTML 5 out.println("<html><head>"); out.println("<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>"); out.println(AddNewCpp("cpp test - new")); out.println("<head><title>Test API</title></head>"); out.println("<body>"); out.println("<h3>TestAPI</h3>"); // Tabulate the request information out.println("</body></html>"); } finally { out.close(); // Always close the output writer } } public static Object AddNewCpp(String cppDesc) throws IOException { String accessKey = "DNN7ACCESSKEYEXAMPLE"; String secretKey = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"; String uRLCppList = "http://something.com/abc"; String method = "POST"; java.util.Date currentTime = new java.util.Date(); SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z"); // Give it to me in GMT time. sdf.setTimeZone(TimeZone.getTimeZone("GMT")); String dateTimeString = sdf.format(currentTime); String signature = generateSignature(method, secretKey, dateTimeString); String authorization = accessKey + ":" + signature; Map<String, String> params = new HashMap<String, String>(); params.put("cppListDesc", cppDesc); String[] result = sendHttpRequest(uRLCppList, "POST", params, dateTimeString, authorization); return result; } 受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{ //TODO自动生成的方法存根 setContentType(“text/html;charset=UTF-8”); //分配一个输出编写器将响应消息写入网络套接字 PrintWriter out=response.getWriter(); //使用ResourceBundle在“LocalStrings_xx.properties”中保留本地化字符串 //在HTML页面中编写响应消息 试一试{ out.println(“

了解何时使用对象作为返回类型 请考虑下面的代码。我试图理解对象返回类型的需要。可能我还没有完全理解什么时候我们应该在方法中使用返回类型作为对象,我想 通过以下代码,您可以看到,AdNewCpp方法在doGet方法中被调用,AdNewCpp方法的返回类型被定义为Object。我想知道是否有什么可以做的 是否可以用它代替对象作为返回类型 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.setContentType("text/html;charset=UTF-8"); // Allocate a output writer to write the response message into the network socket PrintWriter out = response.getWriter(); // Use ResourceBundle to keep localized string in "LocalStrings_xx.properties" // Write the response message, in an HTML page try { out.println("<!DOCTYPE html"); // HTML 5 out.println("<html><head>"); out.println("<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>"); out.println(AddNewCpp("cpp test - new")); out.println("<head><title>Test API</title></head>"); out.println("<body>"); out.println("<h3>TestAPI</h3>"); // Tabulate the request information out.println("</body></html>"); } finally { out.close(); // Always close the output writer } } public static Object AddNewCpp(String cppDesc) throws IOException { String accessKey = "DNN7ACCESSKEYEXAMPLE"; String secretKey = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"; String uRLCppList = "http://something.com/abc"; String method = "POST"; java.util.Date currentTime = new java.util.Date(); SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z"); // Give it to me in GMT time. sdf.setTimeZone(TimeZone.getTimeZone("GMT")); String dateTimeString = sdf.format(currentTime); String signature = generateSignature(method, secretKey, dateTimeString); String authorization = accessKey + ":" + signature; Map<String, String> params = new HashMap<String, String>(); params.put("cppListDesc", cppDesc); String[] result = sendHttpRequest(uRLCppList, "POST", params, dateTimeString, authorization); return result; } 受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{ //TODO自动生成的方法存根 setContentType(“text/html;charset=UTF-8”); //分配一个输出编写器将响应消息写入网络套接字 PrintWriter out=response.getWriter(); //使用ResourceBundle在“LocalStrings_xx.properties”中保留本地化字符串 //在HTML页面中编写响应消息 试一试{ out.println(“,java,Java,在本例中,我不明白AddNewCpp为什么不返回字符串[]。由于Java有泛型,直接使用对象类也不太必要。在本例中,我不明白AddNewCpp为什么不返回字符串[]。由于Java有泛型,直接使用对象类的需求也较少。在本例中,我不明白AddNewCpp为什么不返回字符串[]。由于Java有泛型,直接使用对象类的需求也较少。在本例中,我不明白AddNewCpp为什么不返回字符串[]。由于Java有泛型,直接使用对象类的需求也较少。您可以返回String[],因为您实际上是从AddNewCpp方法返回

在本例中,我不明白AddNewCpp为什么不返回字符串[]。由于Java有泛型,直接使用对象类也不太必要。

在本例中,我不明白AddNewCpp为什么不返回字符串[]。由于Java有泛型,直接使用对象类的需求也较少。

在本例中,我不明白AddNewCpp为什么不返回字符串[]。由于Java有泛型,直接使用对象类的需求也较少。

在本例中,我不明白AddNewCpp为什么不返回字符串[]。由于Java有泛型,直接使用对象类的需求也较少。

您可以返回
String[]
,因为您实际上是从AddNewCpp方法返回字符串数组。

public static String[] addNewCpp(String cppDesc) throws IOException{
                               /\    
                               ||
            //Method Name Should be in camelCase(good Practice)
 String[] result = sendHttpRequest(uRLCppList, "POST", params, dateTimeString, authorization);
 return result;
}

您可以返回
String[]
,因为实际上是从AddNewCpp方法返回字符串数组

public static String[] addNewCpp(String cppDesc) throws IOException{
                               /\    
                               ||
            //Method Name Should be in camelCase(good Practice)
 String[] result = sendHttpRequest(uRLCppList, "POST", params, dateTimeString, authorization);
 return result;
}

您可以返回
String[]
,因为实际上是从AddNewCpp方法返回字符串数组

public static String[] addNewCpp(String cppDesc) throws IOException{
                               /\    
                               ||
            //Method Name Should be in camelCase(good Practice)
 String[] result = sendHttpRequest(uRLCppList, "POST", params, dateTimeString, authorization);
 return result;
}

您可以返回
String[]
,因为实际上是从AddNewCpp方法返回字符串数组

public static String[] addNewCpp(String cppDesc) throws IOException{
                               /\    
                               ||
            //Method Name Should be in camelCase(good Practice)
 String[] result = sendHttpRequest(uRLCppList, "POST", params, dateTimeString, authorization);
 return result;
}

无论如何,至少在这里,您都会返回一个
字符串
数组,因此您可以将
对象
替换为
字符串[]
,这不会有太大变化,尤其是当
输出时。println
无论如何都不会显示非常可读的结果

如果您不知道要使用更多的特定类型,则使用对象作为返回代码。但是,这当然意味着,使用该返回代码的方法必须准备好处理任何事情。在您的示例中,这是通过隐式调用
toString()
(by
out.println
),每个对象都有。在许多其他情况下,您必须进行许多
实例的检查,以查看对象的实际情况


就我个人而言,我会尽量避免它,因为它会让代码本身感到惊讶:只要读取方法签名,你不知道结果会是什么,你就必须阅读方法本身,或者更糟糕的是,阅读文档。

好吧,在任何情况下,你都会返回一个
字符串
数组,至少在这里,这样你就可以替换
Ob带有
字符串[]
的JET
,不会有太大变化,尤其是当
输出时。println
无论如何都不会显示非常可读的结果

如果您不知道要使用更多的特定类型,则使用对象作为返回代码。但是,这当然意味着,使用该返回代码的方法必须准备好处理任何事情。在您的示例中,这是通过隐式调用
toString()
(by
out.println
),每个对象都有。在许多其他情况下,您必须进行许多
实例的检查,以查看对象的实际情况


就我个人而言,我会尽量避免它,因为它会让代码本身感到惊讶:只要读取方法签名,你不知道结果会是什么,你就必须阅读方法本身,或者更糟糕的是,阅读文档。

好吧,在任何情况下,你都会返回一个
字符串
数组,至少在这里,这样你就可以替换
Ob带有
字符串[]
的JET
,不会有太大变化,尤其是当
输出时。println
无论如何都不会显示非常可读的结果

如果您不知道要使用更多的特定类型,则使用对象作为返回代码。但是,这当然意味着,使用该返回代码的方法必须准备好处理任何事情。在您的示例中,这是通过隐式调用
toString()
(by
out.println
),每个对象都有。在许多其他情况下,您必须进行许多
实例的检查,以查看对象的实际情况


就我个人而言,我会尽量避免它,因为它会让代码本身感到惊讶:只要读取方法签名,你不知道结果会是什么,你就必须阅读方法本身,或者更糟糕的是,阅读文档。

好吧,在任何情况下,你都会返回一个
字符串
数组,至少在这里,这样你就可以替换
Ob带有
字符串[]
的JET
,不会有太大变化,尤其是当
输出时。println
无论如何都不会显示非常可读的结果

如果您不知道要使用更多的特定类型,则使用对象作为返回代码。但是,这当然意味着,使用该返回代码的方法必须准备好处理任何事情。在您的示例中,这是通过隐式调用
toString()
(by
out.println
),每个对象都有。在许多其他情况下,您必须进行许多
实例的检查,以查看对象的实际情况

就我个人而言,我会尽量避免,因为