Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.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_Http_Object_Sun - Fatal编程技术网

如何找到Java对象的结构?

如何找到Java对象的结构?,java,http,object,sun,Java,Http,Object,Sun,我正在使用HttpExchange类,希望使用getAttribute函数来获取POST参数。如果我只调用函数并打印结果,它就会工作。但是必须有更好的方法来访问返回的对象并获取包含的数据 手册如下: 如何访问该对象?它有哪些方法?使用。使用反射,你可以做这样的事情 Class c = Class.forName("YourClassName"); Method m[] = c.getDeclaredMethods(); for (int i = 0; i < m.length

我正在使用HttpExchange类,希望使用getAttribute函数来获取POST参数。如果我只调用函数并打印结果,它就会工作。但是必须有更好的方法来访问返回的对象并获取包含的数据

手册如下:

如何访问该对象?它有哪些方法?

使用。使用反射,你可以做这样的事情

 Class c = Class.forName("YourClassName");
   Method m[] = c.getDeclaredMethods();
   for (int i = 0; i < m.length; i++)
   System.out.println(m[i].toString()); //iterate through these methods to find out data
Class c=Class.forName(“你的类名”);
方法m[]=c.getDeclaredMethods();
对于(int i=0;i
使用。使用反射,你可以做这样的事情

 Class c = Class.forName("YourClassName");
   Method m[] = c.getDeclaredMethods();
   for (int i = 0; i < m.length; i++)
   System.out.println(m[i].toString()); //iterate through these methods to find out data
Class c=Class.forName(“你的类名”);
方法m[]=c.getDeclaredMethods();
对于(int i=0;i
我不熟悉此API,但它似乎不是获取POST参数的方法。相反,它是一种在过滤器链中共享信息的机制。因为您将实现,所以您将记录并理解可以存储的属性


要阅读POST详细信息,您会这样做吗?

我不熟悉此API,但这似乎不是获取POST参数的方法。相反,它是一种在过滤器链中共享信息的机制。因为您将实现,所以您将记录并理解可以存储的属性


要阅读文章的详细信息,您会这样做吗?

HttpExchange将返回给定属性名的类型
对象
,假定尝试检索属性的人知道属性的类型,并可以将对象向下转换到相应的类。例如-

String attrValue = (String) httpExchangeObject.getAttribute("nameOfTheAttribute");

您不需要对返回的对象使用反射来查找结构。。我觉得简单的向下转换应该可以解决这个问题。

HttpExchange将返回给定属性名的类型
对象
,假设尝试检索属性的人知道属性的类型,并且可以将对象向下转换到适当的类。例如-

String attrValue = (String) httpExchangeObject.getAttribute("nameOfTheAttribute");

您不需要对返回的对象使用反射来查找结构。。我觉得简单的向下转换应该可以解决这个问题。

我也不熟悉这个API。request POST参数应该以原始、未解析的形式从
getResponseBody()
中提供。但是,如果您知道getAttribute方法将包含所需的数据,但不知道它将包含哪个类(我不知道您如何知道前者而不知道后者,但无论如何),则可以使用反射打印类的名称:

System.out.println (foo.getAttribute("name").getClass ());
如果它是一个内部的、未记录的类,那么您可以使用更多的反射(或其他技术)来查看类层次结构,直到找到一个可以使用的公开记录的类或接口


但是这应该不是必需的,因为您需要的东西应该在某个地方记录下来。

我也不熟悉这个API。request POST参数应该以原始、未解析的形式从
getResponseBody()
中提供。但是,如果您知道getAttribute方法将包含所需的数据,但不知道它将包含哪个类(我不知道您如何知道前者而不知道后者,但无论如何),则可以使用反射打印类的名称:

System.out.println (foo.getAttribute("name").getClass ());
如果它是一个内部的、未记录的类,那么您可以使用更多的反射(或其他技术)来查看类层次结构,直到找到一个可以使用的公开记录的类或接口


但是这不应该是必需的,因为您需要的东西应该在某个地方记录下来。

这段代码不是调用了“doSomething”方法吗?我的问题是对象包含数据,我不知道它是如何存储在对象中的,也不知道如何将其取出,所以我不知道一个对象的名称function@Flo查看编辑后的答案并浏览我给你的链接,你将知道如何从你的课堂上获取所有数据。你不认为,你仍然需要知道这个m[I]方法do以及如何处理该方法的返回类型代码是否调用了方法“doSomething”?我的问题是对象包含数据,我不知道它是如何存储在对象中的,也不知道如何将其取出,所以我不知道一个对象的名称function@Flo查看编辑后的答案并浏览我给你的链接,你将知道如何从你的课堂上获取所有数据。你不认为,你仍然需要知道这个m[I]方法do以及如何处理该方法的返回类型