问题列表 - 第38571页

在Java中转换为泛型方法类型变量时的编译器警告

编辑:我最初接受了我的答案,但我并不满意,因为我想要正确使用泛型.所以,我一直在做研究并找到了解决方案.请在下面的答案中阅读相关内容.


这是一段自包含的Java代码,展示了我正在尝试做的事情.它可以正确编译,运行和运行.

 1 import java.lang.reflect.Method;
 2 import java.lang.reflect.InvocationTargetException;
 3 
 4 public class Example
 5 {
 6    public static <T> void foo(Method method, String target, Object argument, T expectedReturn) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException
 7    {
 8       T actualReturn = (T) method.invoke(target, argument);
 9       System.out.print(actualReturn.equals(expectedReturn));
10    }
11    
12    public static void main(String[ ] args) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException
13    {
14       foo(String.class.getMethod("charAt", int.class), "test", 1, 'e');
15    }
16 }
Run Code Online (Sandbox Code Playgroud)

运行此打印true到控制台,这是我所期望的.令我困扰的是,由于第8行的演员表,我在编译时会收到警告,如下所示(顺便说一句,jGRASP是我的IDE).

---- jGRASP exec:javac -g -Xlint:未选中Sandbox.java …

java generics reflection casting

4
推荐指数
1
解决办法
2822
查看次数

gmake的替代品?

我有一个包含两个函数的c ++程序文件.如果我单独更改第一个函数,为什么它们都必须重新编译?是否有任何构建系统单独重新编译第一个并将其放回同一个目标文件中?这可能吗?一个功能的说明不应该依赖于其他权利?由于gmake重新编译整个文件,需要花费很多时间,这是不可避免的?将第二个函数放在一个单独的文件中并不是一个好主意,因为它涉及创建不需要的不需要的文件.

c++ gnu-make

2
推荐指数
2
解决办法
335
查看次数

Java 注释处理:可以访问非注释类的“元素”吗?

Java 注释处理(自 Java 6 起)是一个非常好的概念,因为它允许通过Element接口(和其他接口)访问有关类和方法的大量信息。

但遗憾的是,我不得不凭经验发现,非注释类永远不会传递给自定义注释处理器:

warning: No SupportedAnnotationTypes annotation found on
    my.TESTProcessor, returning an empty set.
Run Code Online (Sandbox Code Playgroud)

我的发现是真的吗?或者我可以“欺骗”编译器以提供有关非注释类的自定义注释处理器信息吗?

java annotations javac annotation-processing

3
推荐指数
1
解决办法
786
查看次数

sys.argv [1]在脚本中的含义

我现在正在教自己Python,只是想简单地说(参考下面的例子)sys.argv [1]代表什么.它只是要求输入吗?

#!/usr/bin/python3.1

# import modules used here -- sys is a very standard one
import sys

# Gather our code in a main() function
def main():
  print ('Hello there', sys.argv[1])
  # Command line args are in sys.argv[1], sys.argv[2] ..
  # sys.argv[0] is the script name itself and can be ignored

# Standard boilerplate to call the main() function to begin
# the program.
if __name__ == '__main__':
  main()
Run Code Online (Sandbox Code Playgroud)

python

135
推荐指数
6
解决办法
37万
查看次数

如何在JSP中显示操作系统信息?

我希望我的jsp页面向用户显示操作系统信息.

java jsp

2
推荐指数
1
解决办法
1万
查看次数

如何确保方法在C++中覆盖现有的虚拟方法?

假设我们有一个具有虚方法的基类:

class BaseClass
{
    virtual void MethodToOverride() const
    {
        DoSomething();
    }
};
Run Code Online (Sandbox Code Playgroud)

一个派生类覆盖了该方法(取决于我们可以再次虚拟或不再虚拟的情况):

class DerivedClass : public BaseClass
{
    void MethodToOverride() const
    {
        DoSomethingElse();
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我们犯了一个错误,例如定义MethodToOverride非const或错误的字符,我们只需定义一个新方法,例如:

void MethodToOverride() {} // I forgot the const 
void MthodToOverride() const {} // I made a typo
Run Code Online (Sandbox Code Playgroud)

因此编译很好,但在运行时会导致不必要的行为.

有没有办法将函数定义为现有函数的显式覆盖,所以如果我错误地定义它,编译器会发出警告?像(我知道它不存在)的东西:

void MethodToOverride() const overrides BaseClass::MethodToOverride() const {} 
Run Code Online (Sandbox Code Playgroud)

c++ oop virtual overriding

2
推荐指数
2
解决办法
420
查看次数

我们如何使用tomcat服务器配置JNDI?

如何使用类似于JBoss服务器的tomcat服务器使用jboss-web.xml配置JNDI?请帮帮我吗?

我想知道我们需要写哪个文件?或者有任何编程方式来做到这一点?

先谢谢Pravin

java tomcat jndi

6
推荐指数
2
解决办法
9637
查看次数

检测移动设备的最简单方法

告诉用户是否使用移动设备使用PHP浏览我的网站的最简单方法是什么?

我遇到过许多你可以使用的课程,但我希望有一个简单的if条件!

有没有办法可以做到这一点?

php mobile

168
推荐指数
8
解决办法
33万
查看次数

动态访问布局元素

我有一个让我发疯的问题.

我的屏幕上有一大堆按钮(10或多或少),在TableRow中.

我需要访问它们,并且我计划通过循环执行.

访问一个,很容易,添加这个:

boton7 = (Button) findViewById (R.id.Btn7)
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果你可以动态设置id字符串(R.id.Btn7)放入一个可以获取按钮,例如,更改颜色....这样的事情:

for (int i = 0; i <10; i + +) {
   Button eachBoton= (Button) findViewById (R.id.Btn + i);
   eachBoton. setBackgroundColor (Color.Red);
}
Run Code Online (Sandbox Code Playgroud)

当然,这不起作用......我的问题是,是否有人知道如何安装链条

R.id.Btn + i
Run Code Online (Sandbox Code Playgroud)

上班.

非常感谢.

android

5
推荐指数
1
解决办法
5918
查看次数

2
推荐指数
1
解决办法
107
查看次数