草庐IT

protected_class_method

全部标签

java 类型删除与 Field#getGenericType 和 Method#getGenericReturnType

据我了解,泛型是Java的编译时特性,编译后的字节码中不存在参数化类型信息。我现在发现了Field#getGenericType和Method#getGenericReturnType方法,从而打破了我的世界观。请帮我拼凑一下。 最佳答案 仅运行时类型的对象被删除。例如:Objectobj=newArrayList();obj.getClass()将返回ArrayList.class.你甚至可以说ArrayList有一个通用参数。但是没有办法判断是否obj创建为ArrayList,ArrayList,ArrayList,ArrayL

java - 如何以编程方式生成 .class 文件?

我想为Java的玩具语言编写一个编译器。我想生成可运行的.class文件。我想知道可用于执行此操作的最佳库或工具是什么?我知道我可以学习所有指令的二进制格式并构建我自己的常量池等,但这似乎是应该已经完成​​的工作:没有必要重新发明轮子,对吧?在线搜索我发现了两种不同的Java汇编语言,Jasmin和Jamaica,然而只有Jasmin看起来有些保养。是否有用于将字节码写入流的Java库?这是什么ApacheBCEL是吗?他们的工具是否是字节码生成的“标准”,就像Antlr用于解析一样?PS-玩具语言是Brainf***,我想要一些我可以有一个简单的“语法”的东西,这样我就可以专注于生成

java - 如何防止 JAXB 在编码时绑定(bind) @XmlRootElement 的父类(super class)方法?

我有一个注释为@XmlRootElement和@XmlAccessorType(XmlAccessType.NONE)的类。我遇到的问题是父类(superclass)的方法被绑定(bind),而我不希望它们被绑定(bind),并且无法更新类。我希望有一个注释可以放在根元素类上以防止这种情况发生。例子:@XmlRootElement@XmlAccessorType(XmlAccessType.NONE)publicclassPersonextendsNamedObject{@XmlElementpublicStringgetId(){...}}我希望只有在Person上注释为@XmlEl

java - 使用 Class<?> 作为键创建 ImmutableMap 的问题

我正在尝试创建一个ImmutableMap将类映射到字符串(注意:这当然只是一个例子!)。然而,像ImmutableMap,String>map=ImmutableMap.of(Integer.class,"Integer",Date.class,"Date");给我以下错误Typemismatch:cannotconvertfromImmutableMap&Serializable>,String>toImmutableMap,String>奇怪的是,如果我向Class添加强制转换,它确实有效任何(!)键,即ImmutableMap,String>map=ImmutableMap.o

java - 为什么 JAXB 生成的类具有 protected 成员,我该如何更改它?

我一直在互联网上搜索JAXB生成的类具有protected成员(所有成员,无论继承如何)的原因。我希望成员是私有(private)的。我的搜索是空的。我有普通的xsd文件,这些文件使用Maven和JAXB转换为Java类。理想情况下,生成的成员应该是私有(private)的,但我找不到实现此目的的方法。有没有办法修改这个默认行为? 最佳答案 好吧,我要回答我自己的问题。创建插件是正确的方法。我编写了以下插件,它似乎可以工作。publicclassPrivateMemberPluginextendsPlugin{@Overridepu

java - 为什么 ArrayList.contains(Object.class) 不能用于查找实例类型?

假设我有一个ArrayList,其中填充了不同类型的对象...ArrayListshelf=newArrayList();Appleapple=newApple();Orangeorange=newOrange();Pearpear=newPear();shelf.add(apple);shelf.add(orange);shelf.add(pear);我想知道shelf是否包含一个Orange对象。我试过了shelf.contains(Orange.class)但这不会返回true。我的理解是contains使用equals方法进行对象比较,所以我不确定为什么会这样。我知道我可以简单

Java 泛型 - Class 或 Class<?扩展某些类>

我正在编写一个程序,它将使用Java反射(即Class.forName())根据用户的输入动态创建类实例。一个要求是我的程序创建的实例必须扩展我定义的一个特定类,称为SomeClass.我的问题是:为了存储此类类型,我应该使用有界泛型Class,或简单地无限泛型,Class?我发现一些Java书籍说Class是使用无界通配符泛型的良好实践之一,但我想知道这是否适用于我程序中的情况。如果您发现我的问题不够清楚或需要一些信息,请随时告诉我。 最佳答案 你应该使用Class因为这就是泛型的用途。在您调用Class.forName时,检查它

java - servlet中 'main method'的作用是什么?

Servlet也是java程序,但servlet中没有main方法。谁来担任servet上的main方法。 最佳答案 Servlet设计为在servlet容器(例如ApacheTomcat)内运行。servlet的执行以下列方式发生:servlet容器调用GenericServlet.service()servlet上的方法,通常调用适当的doXxx()方法,例如。doGet(),doPost()等。doXxx()方法负责解释HTTP请求并提供适当的响应。GenericServlet.service()大致类似于普通旧java类中的

ruby-on-rails - 在没有 method_missing 的情况下使用 Rails 获取 SEO 友好的 URLS?

目前我们正在使用method_missing来捕获我们Controller中对SEO友好操作的调用,而不是为变量的每个可能的值创建操作。我们想要的是这样的URL:/学生/鲍勃史密斯而不是/students/show/342是否有比method_missing更简洁的解决方案?谢谢! 最佳答案 您可以很容易地为特定格式定义路由。map.connect"/students/:name",:controller=>:students,:action=>:show,:requirements=>{:name=>/[A-Z][A-Z]+/}然

ruby-on-rails - Ruby on Rails 允许跟踪/索引 protected 页面

我需要允许为Facebook共享的用户保护页面建立索引。基本上,我有一个提供优惠券的RoR应用程序,我需要用户能够在facebook上分享优惠券。唯一的问题是用户必须有一个帐户才能查看每张优惠券页面上的所有优惠券详细信息。我希望他们能够通过指向该优惠券的链接共享优惠券(仅标题,价格),但如果用户没有帐户,优惠券的链接实际上将重定向到注册页面。因此,当Facebook(和其他索引机器人)从优惠券URL中提取信息时,它们也会被重定向到注册页面并索引注册页面信息而不是优惠券页面信息。有什么方法可以让抓取工具为每个优惠券页面编制索引,但将实际用户重定向到注册页面?