在类名

时间:2015-11-15 14:50:33

标签: java netbeans

当我编译我的java类时。有些错误在类名中找不到symble'/'。以下是我班级的示例代码:

public TransactionSearchResponse submit(TxnSearchRequest req)
{
    url = (new StringBuilder(String.valueOf(req.getBaseUrl()))).append("/txns/search").toString();
    method = "POST";
    return (TransactionSearchResponse)sendRequest(req, com/COMPPONENT/api/TransactionSearchResponse);
}

此代码块作者的版权原因。 sendRequest方法已删除。

Netbeans无法识别班级名称“com / COMPPONENT / api / TxnResp”中的短划线'/'。类名包含一些部分:

包名:com.COMPONENT.api

班级名称:TxnResp

Java文件名:TxnResp.java

短划线'/'显示为红色,因为Netbeans将其屏蔽为错误行。我从Netbeans得到的唯一提示是“为com.COMPONENT.api.TxnResp添加导入”或“翻转'/'的操作数(可能会改变语义),我这样做但没有运气。当我尝试运行时代码,它会生成“无法找到符号”的错误。你能帮我解决这个问题吗?

此致 Dung Tri

1 个答案:

答案 0 :(得分:1)

如果方法sendRequest被声明为

Object sendRequest( Request x, Class<?> y )

您必须使用java.lang.Class对象的实例调用它:

... = sendRequest( request, com.COMPPONENT.api.TxnResp.class );

追加.class是获取某个Class对象实例的方法(不要与使用新TxnResp创建的TxnResp实例混淆)。

另外,给定

com.COMPPONENT.api.TxnResp txnResp = new com.COMPPONENT.api.TxnResp();

表达式

txnResp.getClass()

会产生Class<com.COMPPONENT.api.TxnResp>的实例,但当然.class符号对您的目的来说更方便。