首页 / JAVA / java – 头等函数
java – 头等函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 头等函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1369字,纯文字阅读大概需要2分钟。
内容图文
所以我们有一个名为Func.java的接口,如下所示:
public interface Func<A,B> {
public B apply(A x);
}
然后我们有一个名为mainClass.java的主类,它看起来像这样:
public class mainClass{
public static void main(String[] args) {
}
public static <A,B,C> Func<A,C> compose(final Func<A,B> f, final Func<B,C> g){
return new Func<A,C>(){
public C apply(A x){
return g.apply(f.apply(x));
}
};
}
}
我不确定如何在main方法中调用这个compose方法,以及这段代码实际编译的方式!我的意思是,这里必须使用java泛型吗?
解决方法:
这是你如何调用compose:
public class mainClass {
public static <A, B, C> Func<A, C> compose(final Func<A, B> f, final Func<B, C> g) {
return new Func<A, C>() {
public C apply(final A x) {
return g.apply(f.apply(x));
}
};
}
public static void main(final String[] args) {
Func<String, Double> toDouble = new Func<String, Double>() {
public Double apply(final String x) {
return Double.parseDouble(x);
}
};
Func<Double, Integer> toInt = new Func<Double, Integer>() {
public Integer apply(final Double x) {
return (int) x.doubleValue();
}
};
Func<String, Integer> composed = compose(toDouble, toInt);
System.out.println("Composed: " + composed.apply("1.23"));
}
}
我不太确定你要求仿制药是什么.从字面意义上说,不,它们不是. Java泛型只是为您提供类型安全性.您当然可以完全废弃它们,并将A,B和C更改为仅作为对象.但是,如果要显式定义正在使用的类型,比如在我的示例中使用String,Integer和Double,那么是的,在这种情况下需要使用泛型.
内容总结
以上是互联网集市为您收集整理的java – 头等函数全部内容,希望文章能够帮你解决java – 头等函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。