Java泛型和模板(Java Generics and templates)
我有以下
Java
类定义:import java.util.*; public class Test { static public void copyTo(Iterator<? extends Number> it, List<? extends Number> out) { while(it.hasNext()) out.add(it.next()); } public static void main(String[] args) { List<Integer> in = new ArrayList<Integer>(); for (int i = 1; i <= 3; i++) { in.add(i); } Iterator<Integer> it = in.iterator(); List<Number> out = new ArrayList<Number>(); copyTo(it, out); System.out.println(out.size()); }
}
就是这样,我在
Java
使用wildcards
定义了方法copyTo
。 我定义List<Number> out
但是Iterator<Integer> it
。 我的想法是我可以将迭代Iterator<? extends Number>
定义为Iterator<? extends Number>
Iterator<? extends Number>
,然后键入match。 然而事实并非如此:Test.java:13: error: no suitable method found for add(Number) out.add(it.next()); ^ method List.add(int,CAP#1) is not applicable (actual and formal argument lists differ in length) method List.add(CAP#1) is not applicable (actual argument Number cannot be converted to CAP#1 by method invocation conversion) method Collection.add(CAP#1) is not applicable (actual argument Number cannot be converted to CAP#1 by method invocation conversion) where CAP#1 is a fresh type-variable: CAP#1 extends Number from capture of ? extends Number 1 error
所以我继续前进,我为
copyTo
方法定义了另一个定义:static public void copyTo(Iterator<? super Integer> it, List<? super Integer> out) { while(it.hasNext()) out.add(it.next()); }
它也不起作用。 在这种情况下使用
wildcards
的正确说法是什么?I have the following
Java
class definition:import java.util.*; public class Test { static public void copyTo(Iterator<? extends Number> it, List<? extends Number> out) { while(it.hasNext()) out.add(it.next()); } public static void main(String[] args) { List<Integer> in = new ArrayList<Integer>(); for (int i = 1; i <= 3; i++) { in.add(i); } Iterator<Integer> it = in.iterator(); List<Number> out = new ArrayList<Number>(); copyTo(it, out); System.out.println(out.size()); }
}
That's it, I define the method
copyTo
usingwildcards
inJava
. I defineList<Number> out
butIterator<Integer> it
. My thinking is I can define the iterator asIterator<? extends Number>
and that would type match. However that's not the case:Test.java:13: error: no suitable method found for add(Number) out.add(it.next()); ^ method List.add(int,CAP#1) is not applicable (actual and formal argument lists differ in length) method List.add(CAP#1) is not applicable (actual argument Number cannot be converted to CAP#1 by method invocation conversion) method Collection.add(CAP#1) is not applicable (actual argument Number cannot be converted to CAP#1 by method invocation conversion) where CAP#1 is a fresh type-variable: CAP#1 extends Number from capture of ? extends Number 1 error
So I went ahead and I defined yet another definition for the
copyTo
method:static public void copyTo(Iterator<? super Integer> it, List<? super Integer> out) { while(it.hasNext()) out.add(it.next()); }
It doesn't work either. What would be the correct say of using
wildcards
in this case?
原文:https://stackoverflow.com/questions/33586166
最满意答案
注册分类时,可以更改$ args的重写参数以更改slug。
$args = array( 'labels' => $labels, 'public' => true, 'show_in_nav_menus' => true, 'show_admin_column' => false, 'hierarchical' => false, 'show_tagcloud' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'about/teams' ), // this line here 'query_var' => true, 'capabilities' => array(), ); register_taxonomy( 'teams', array( 'team' ), $args );
进行此更改后,您可能需要重新保存永久链接以查看效果。
When you register your taxonomy you can change the rewrite parameter of the $args to alter the slug.
$args = array( 'labels' => $labels, 'public' => true, 'show_in_nav_menus' => true, 'show_admin_column' => false, 'hierarchical' => false, 'show_tagcloud' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'about/teams' ), // this line here 'query_var' => true, 'capabilities' => array(), ); register_taxonomy( 'teams', array( 'team' ), $args );
After you make this change you may need to re-save your permalinks to see the effects.
相关问答
更多-
最好使用数组来安排它,你可以注意到很多东西,将slug改为组合类别,我认为它现在可以正常工作。 add_action( 'init', 'create_portfolio_taxonomies', 0 ); function create_portfolio_taxonomies(){ $labels = array( 'labels' => array( 'name' ...
-
你在register_taxonomy上有一个重写参数,其中slug =>'parts'与你的帖子类型相同。 尝试将其更改为不同的内容,重新访问固定链接页面(您无需更改任何内容,只需访问永久链接设置页面即可刷新它)并再试一次。 You have a rewrite parameter on the register_taxonomy with slug => 'parts' that's the same slug as your post type. Try changing it to somethin ...
-
获取分类标准(用于自定义帖子类型)默认使用父档案样式(Get taxonomies (for custom post type) to use parent archive styling by default)[2022-04-13]
我的印象是所有来自研究的分类法都会使用这个档案 根据该文档 ,是的,您可以使用archive-research.php为自定义帖子类型研究呈现适当的归档索引页面。 但是,对于自定义分类标准, 您需要分类 - {分类} .php 。 所以: 分类学field.php 分类学author.php 分类学publication.php 或者,如果你只需要一个模板 ,那么在archive.php中 ,你可以像这样构建循环:(基于Twenty 17主题版本1.4的archive.php模板)尝试下面的代码 $pc_ccat_tagline = get_term_meta( get_queried_object_id(), '_pc_ccat_tagline', true); $pc_ccat_desc = get_term_meta( get_queried_object_id(), '_pc_ccat_desc', true); 不要忘记做回声。 如果此代码不起作用,那么只需在代码中传递true即可 $icat_desc = get_term_meta($icat_id, '_pc_cc ...我已经检查过你的代码,因为它在我身边正常工作。 我想你在详细页面检查单$ posttype.php文件。 Using taxonomy template worked in this instance, so naming my file taxonomy-news_category.php allowed me to create my own template for all categories in my custom post type. I also found that having a pa ...多数民众赞成解决了我的问题! function _cancel_query( $query ) { if ( !is_admin() && is_post_type_archive( 'computer' ) ) { $query = false; } return $query; } add_action( 'posts_request', '_cancel_query' ); Thats solves my issue! function _cancel_ ...将“默认”页面设置为自定义分类存档页面的父页面(Make “default” page the parent page of a custom taxonomy archive page)[2023-06-20]
注册分类时,可以更改$ args的重写参数以更改slug。 $args = array( 'labels' => $labels, 'public' => true, 'show_in_nav_menus' => true, 'show_admin_column' => false, 'hierarchical' => false, 'show_tagcloud' => true, 'sho ...您使用重写规则,允许您从分类名称中更改分类标准。 你的分类标准是locationCategories,你的分类标准slug是场地的地点。 存档页面 www.example.com/venue-loaction/ 自定义帖子类型页面 www.example.com/venue-loaction/london You using rewrite rule which allows you to change taxonomy slug from taxonomy name. Your taxonomy is ...如何停止自定义帖子类型重定向到博客存档页面?(How can I stop custom post type redirecting to blog archive page?)[2021-09-07]
不知道如果我理解你的问题100%。 如果您需要CPT的专用模板文件:Exhibits,重复的single.php重命名:single-exhibit.php和WP应该使用该模板文件作为Exhibits CPT。 可能需要重新保存永久链接结构,先检查一下。 http://codex.wordpress.org/Template_Hierarchy#Custom_Post_Types_display Don't know If I understand your question 100%. If you ne ...Wordpress自定义帖子类型存档页面,下拉Taxonomyes(Wordpress Custom Post Type Archive page with Drop down Taxonomyes)[2023-02-24]
如果您希望基于下拉选择限制作者列表,那么您需要修改查询并使用分类标准查询参数 : 修改代码,以便它响应表单帖子,如下所示: // First we have to take the args out into a variable $args = array( 'post_type' => 'auctores', 'posts_per_page' => -1, 'order' => 'ASC', 'meta_key ...相关文章
更多- Java模板引擎 FreeMarker介绍
- Java 泛型
- java版微信机器人代码
- springboot 整合freemarker
- java上传
- Java 简介
- java是什么
- Java 异常处理
- Java 数组
- Java 接口
最新问答
更多- 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
- 如何通过引用返回对象?(How is returning an object by reference possible?)
- 矩阵如何存储在内存中?(How are matrices stored in memory?)
- 每个请求的Java新会话?(Java New Session For Each Request?)
- css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
- 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
- xcode语法颜色编码解释?(xcode syntax color coding explained?)
- 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
- 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
- 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
- 西安哪有PLC可控制编程的培训
- 在Entity Framework中选择基类(Select base class in Entity Framework)
- 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
- 电脑二级VF有什么用
- Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
- 金华英语角.
- 手机软件如何制作
- 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
- 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
- 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
- Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
- 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
- python的访问器方法有哪些
- DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
- 在Ruby中对组合进行排序(Sorting a combination in Ruby)
- 网站开发的流程?
- 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
- 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
- 透明度错误IE11(Transparency bug IE11)
- linux的基本操作命令。。。