lambda表达式 这句代码是什么意思呢?
new Thread(() -> {
            try {
                this.bind();
            } catch (Exception e) {
                log.info("TCP服务启动出错:{}", e.getMessage());
                e.printStackTrace();
            }
        }, this.getName()).start();

这个() -> 是什么意思哦 如果要改写 怎么改。网上说()相当与参数 -> 后面是方法或者表达式

 new Thread(
 this.bind(),this.getName()
 ).start();

这样写好像不对哦

2个回答

new Thread( () -> { }, this.getName() ).start(); 这段代码可以这样看 , 首先是调用了Thread的构造函数去实例化对象 ,然后调用它的 start 方法.
这个构造函数有两个参数 , 其中一个必须是函数式接口 , 去Thread类中查找只能找到 Thread( Runnable , String) 这个构造函数满足要求.
然后第一个参数是Runnable对象 , 他采用的是 lambda表达式来作为参数传递 , 而不是使用匿名内部类或者Runnable的实现类对象作为参数
因为Runnable接口是一个函数式接口 , 只有一个 run() 方法且没有参数 , 所以使用 () ->{ run方法具体实现代码 } lambda表达式 , 相当于你创建了一个Runnable对象

qq_38167579
农夫丶果园 回复城里俊男多: 首先 Runnable接口就是一个函数式接口 , 函数式接口都可以通过lambda表达式来达到行为参数化的目的 ; 意思就是说本来你是需要一个Runnable 类型作为参数 , 但是你不想新建一个类去实现Runnable接口 , 或者使用匿名内部类去 new 一个Runnable的实现 , 那么lambda表达式可以帮你解决这些麻烦 . 而且函数式接口只能有一个抽象方法 (不算默认方法) , 所以你调用的就是这个方法 ; 这个是java8 开始支持的 , 很值得去学习一下 , 不知道我有没有讲清楚
一年多之前 回复
qq_39658059
城里俊男多 谢谢,那这个() -> { }就相当于是一个 函数式接口参数调用了里面的java void run() 方法 是这样理解吧。
一年多之前 回复

就是参数列表啊,new thread不需要传入参数所以()是对的。。。

qq_39658059
城里俊男多 try { this.bind(); log.info("jt808-TCP启动"+this.port); } catch (Exception e) { log.info("jt808-TCP服务启动出错:{}", e.getMessage()); e.printStackTrace(); } new Thread(() -> { }, this.getName()).start();这样写效果是一样的没区别啊。。。
一年多之前 回复
qq_39658059
城里俊男多 `java
一年多之前 回复
qq_39658059
城里俊男多 ()是viod参数列表,那这个{}里面的this.bind();相当于是没有意义的吧,但是这个this.getName();不是作为thread启动的参数吗
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c++ lambda表达式相关代码的疑惑?

``` #include <iostream> using namespace std; #include <functional> #include <memory> class Value { public: Value() { cout << "Value()" << endl; } Value(const Value &v) { this->a = v.a; cout << "Value(const Value &v)" << endl; } ~Value() { cout << "~Value()" << endl; } Value &operator=(const Value &v) { this->a = v.a; cout << "Value& operator=(const Value &v)" << endl; return *this; } int a; }; std::function<void()> func; void test1() { Value v; v.a = 10; auto func1 = [v]() { cout << "a:" << v.a << endl; }; func1(); } void test2() { Value v; v.a = 20; func = [v]() { cout << "a:" << v.a << endl; }; } int main() { test1(); cout << "####################" << endl; test2(); cout << "####################" << endl; func(); system("pause"); } ``` 输出的结果是: Value() Value(const Value &v) a:10 ~Value() ~Value() #################### Value() Value(const Value &v) Value(const Value &v) Value(const Value &v) ~Value() ~Value() ~Value() #################### a:20 1. 为什么test1()里只调用了一次拷贝构造函数,而test2() 函数里 Value的拷贝构造函数调用了3次? 2. 为什么test2()里有4个构造函数而析构函数只调用了3次?

这段代码如何转成Lambda表达式的形式?

![图片说明](https://img-ask.csdn.net/upload/201706/15/1497492048_185171.png)

关于Lambda表达式的报错问题?

package Against; import Object.LambdaQs; interface Eatable { void taste(); } interface Flyable { void fly(String weather); } interface Addable { int add(int a,int b); } public class LambdaQS { //调用该方法需要Eatable对象 public void eat(Eatable e) { System.out.println(e); e.taste(); } //调用该方法需要Flyable对象 public void drive(Flyable f) { System.out.println("我正在驾驶:"+f); f.fly("清空如洗的晴日"); } //调用该方法需要Addable对象 public void test(Addable add) { System.out.println("5与3的和为"+add.add(5, 3)); } public static void main(String[] args) { LambdaQs lq=new LambdaQs(); //Lambda表达式的代码块只有一条语句,可以省略花括号 lq.eat(()-> System.out.println("苹果的味道不错!")); //lambda表达式的形参列表只有一个形参是,可以省略圆括号 lq.drive(weather-> { System.out.println("今天天气是:"+weather); System.out.println("直升机飞行平稳"); }); //代码块只有一条语句的时候,可以省略花括号,如果代码块中只有一条语句,几十该表达式需要返回值,也可以省略return关键字 lq.test((a,b)->a+b); } } Eclipse: Exception in thread "main" java.lang.Error: Unresolved compilation problems: The type Eatable from the descriptor computed for the target context is not visible here. The method drive(Flyable) in the type LambdaQs is not applicable for the arguments ((<no type> weather) -> {}) The type Flyable from the descriptor computed for the target context is not visible here. The method test(Addable) in the type LambdaQs is not applicable for the arguments ((<no type> a, <no type> b) -> {}) The type Addable from the descriptor computed for the target context is not visible here. at Against.LambdaQS.main(LambdaQS.java:39) 我用的JDK是支持Java8的

一个关于c# lambda表达式的问题!!!!!!

lambda表达式是基于委托的,因此创建lambda表达式需要依赖委托。但是我今天在书上看见有一段代码这样写的public int AnonymousMethod(int x) => x + someVal;左面应该是函数声明,右面是lambda表达式,并没有依赖委托,编译器也不会报错 这是为什么??? 还有lambda表达式为什么必须依赖委托创建?

项目使用lambda表达式后启动报错,求大神解决

今天尝试在项目中使用lambda 结果启动就报错,无法初始化bean 做过测试,只要使用了lambda就启动报错, 项目就加了这一段代码 ``` List<Integer> loanIds = excuteLoanPhaseList.stream().map(LoanPhase::getLoanId).collect(Collectors.toList()); ``` 启动报错log: ![log1](https://img-ask.csdn.net/upload/201805/24/1527131955_11396.png) ![log2](https://img-ask.csdn.net/upload/201805/24/1527131976_228411.png) ![log3](https://img-ask.csdn.net/upload/201805/24/1527131995_679000.png) ![log4](https://img-ask.csdn.net/upload/201805/24/1527132010_47368.png)

lambda表达式相关,将判断改写

如何能将如下代码里的判断用lambda表达式代替,主要是我图里框起来的部分,万分感谢 ``` //获取当前登录用户授权的行政区划编码 List<string> AreaCodeList = area.GetUserDistrictCode(AreaCode); if (string.IsNullOrEmpty(queryJson)) { return this.BaseRepository("ground_report", "MySql").FindList(a => true, pagination).ToList(); } else { Expression<Func<Grw_MonitorPointEntity, bool>> exp = a => true; if (HydGeoUnit1 != "") exp = exp.And(a => a.HydGeoUnit1.Contains(HydGeoUnit1)); if (HydGeoUnit2 != "") exp = exp.And(a => a.HydGeoUnit2.Contains(HydGeoUnit2)); if (InputValue != "") exp = exp.And(a => a.MonitorPointID.Contains(InputValue)); exp = exp.And(a => a.Year == Year); if (AreaCode != "00")//非全国 { if (AreaCodeList != null)//授权的行政区划List不为空 { if (AreaCodeList[0] != "000000")//非最高级别 { if (AreaCodeList.Count > 1) { //不知道咋写 } else { exp = exp.And(a => a.AreaCode.StartsWith(AreaCodeList[0].Substring(0, AreaCode.Length))); } } } } } ```

有关Java8Lambda表达式实例化接口问题

1.Lambda为什么可以实例化一个接口? 2.实例化一个接口,除了常规方式(new一个实现接口的对象,单实力模式、工厂模式),还有什么方式?有没有类似使用内部类的实现方式(类似下面错误代码的 interface Converter{ Integer converter(String from); } public class testLambda { public static void main(String[] args) { // Converter converter1 =from -> Integer.valueOf(from); // Integer var =converter1.converter("99"); // System.out.println(var); //错误代码如下: Converter converter2 = new InnCl extends Converter{ String a ="99"; converter(a) { return Integer.valueOf(a); } } } }

asp.net关于用Lambda表达式做函数参数效率问题

最近做一个实习工作,上头交代我写系统日志的操作,当时上头说用ado.net的Ef(基于数据库的实体模型)开发。 主要一个函数 : public List<vUserLog> SelectBy(Expression<Func<vUserLog, bool>> wherelamdba) { using (LogEntities lg = new LogEntities()) { return lg.vUserLogs.Where(wherelamdba).ToList(); }} 但是上头看了一下我写的代码,说我用lamdba表示作为参数,执行效率低!复杂!!主要: (1)(LogEntities是实体模型的上下文的类,有两个dbset表),在使用中(l= lg.vUserLogs.Where(wherelamdba).ToList();)l和lg(也就是dbset)不释放; (2)委托是反射吗?当时我就说lamdba不是委托吗?他说委托本质是反射; 我现在还是刚学c#没多久,帮忙解惑一下。谢谢!

反编译出错,大神看一下关于lambda表达式和linq的

SortedSet<SKUItem> sKUItems = new SortedSet<SKUItem>(ComparerFactroy<SKUItem>.Create<int, int>((Func<!0, int>)new Func<SKUItem, int>((SKUItem x) => x.AB_DisplaySequence), (SKUItem x) => x.AV_DisplaySequence));

怎样用Struts2的lambda表达式取一个map集合的子集

前台的jsp代码是这样的。 [code="jsp"] <s:select cssStyle=" width:200px" key="product.blocode" list="codeGroupsMap['BLOCINFO'].codeMap" headerKey="" headerValue="选择.."> </s:select> [/code] [color=red]codeGroupsMap['BLOCINFO'].codeMap [/color]这个东西在后台取得值传到了前台。它就是一个map对象的集合,里面的内容为: {'101':'湖北','102':'湖南','103':'北京','104':'上海','105':' 广东','106':'湖北武汉','107':'湖南长沙'} 现在我只需要取这个集合的前5个元素,也就是取这个集合的子集得到的这样的集合{'101':'湖北','102':'湖南','103':'北京','104':'上海','105':' 广东'},用lambda表达式试了好久都不出来,好像貌似是这样子用得,但就是没有结果,大家帮忙看下应该怎么用啊,还有没有其它办法。 [code="jsp"] <s:select cssStyle=" width:200px" key="product.blocode" list="codeGroupsMap['BLOCINFO'].codeMap.{?#this.value.length<3}" headerKey="" headerValue="选择.."> </s:select> [/code]

代码最后用lambda表达式写的方法出现了问题,帮忙搞定一下吧(自己写的计算器的代码)

``` import java.awt.Color; import java.awt.Component; import java.awt.Dimension; import java.awt.Font; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.border.LineBorder; interface Calculable { double CalculateInt(double x, double y); }// 用来定义Lambda表达式的接口 public class Mycalc extends JFrame { private static final long serialVersionUID = 1L; // 用来保存第一个数 private String number1 = ""; // 用来保存第二个数 private String number2 = ""; // 用来保存两个数的运算符 private String operator = ""; // 显示框 JTextField jt = new JTextField("0.0 "); public Mycalc() { setTitle("My first Calc"); setSize(600, 750); setLayout(null); SetCenter(this); setResizable(false); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); addJT(); addButton(); setVisible(true); } void addJT() {// 添加显示框 jt.setBounds(0, 0, 600, 150); // 不允许对显示框进行编辑 jt.setEditable(false); // 显示框内的数据右对齐 jt.setHorizontalAlignment(JTextField.RIGHT); // 设置背景色 jt.setBackground(new Color(100, 100, 100)); // 设置字体属性 jt.setFont(new Font("宋体", Font.BOLD, 20)); add(jt);// 添加 } void addButton() {// 添加操作按钮 JButton jb_7 = new JButton("7"); // 设置按钮边框的属性 jb_7.setBorder(new LineBorder(Color.BLUE, 1)); // 设置按钮的字体属性 jb_7.setFont(new Font("宋体", Font.BOLD, 20)); // 设置按钮的位置及大小 jb_7.setBounds(0, 150, 150, 150); // 添加数字监听者 jb_7.addActionListener(new NumberBtListener()); add(jb_7);// 添加 JButton jb_8 = new JButton("8"); jb_8.setBorder(new LineBorder(Color.BLUE, 1)); jb_8.setFont(new Font("宋体", Font.BOLD, 20)); jb_8.setBounds(150, 150, 150, 150); jb_8.addActionListener(new NumberBtListener()); add(jb_8); JButton jb_9 = new JButton("9"); jb_9.setBorder(new LineBorder(Color.BLUE, 1)); jb_9.setFont(new Font("宋体", Font.BOLD, 20)); jb_9.setBounds(300, 150, 150, 150); jb_9.addActionListener(new NumberBtListener()); add(jb_9); JButton jb_add = new JButton("+"); jb_add.setBounds(450, 150, 150, 150); jb_add.setBorder(new LineBorder(Color.BLUE, 1)); jb_add.setFont(new Font("宋体", Font.BOLD, 20)); jb_add.addActionListener(new Operation()); add(jb_add); JButton jb_4 = new JButton("4"); jb_4.setBorder(new LineBorder(Color.BLUE, 1)); jb_4.setFont(new Font("宋体", Font.BOLD, 20)); jb_4.setBounds(0, 300, 150, 150); jb_4.addActionListener(new NumberBtListener()); add(jb_4); JButton jb_5 = new JButton("5"); jb_5.setBorder(new LineBorder(Color.BLUE, 1)); jb_5.setFont(new Font("宋体", Font.BOLD, 20)); jb_5.setBounds(150, 300, 150, 150); jb_5.addActionListener(new NumberBtListener()); add(jb_5); JButton jb_6 = new JButton("6"); jb_6.setBorder(new LineBorder(Color.BLUE, 1)); jb_6.setFont(new Font("宋体", Font.BOLD, 20)); jb_6.setBounds(300, 300, 150, 150); jb_6.addActionListener(new NumberBtListener()); add(jb_6); JButton jb_cut = new JButton("-"); jb_cut.setBounds(450, 300, 150, 150); jb_cut.setBorder(new LineBorder(Color.BLUE, 1)); jb_cut.setFont(new Font("宋体", Font.BOLD, 20)); jb_cut.addActionListener(new Operation()); add(jb_cut); JButton jb_1 = new JButton("1"); jb_1.setBorder(new LineBorder(Color.BLUE, 1)); jb_1.setFont(new Font("宋体", Font.BOLD, 20)); jb_1.setBounds(0, 450, 150, 150); jb_1.addActionListener(new NumberBtListener()); add(jb_1); JButton jb_2 = new JButton("2"); jb_2.setBorder(new LineBorder(Color.BLUE, 1)); jb_2.setFont(new Font("宋体", Font.BOLD, 20)); jb_2.setBounds(150, 450, 150, 150); jb_2.addActionListener(new NumberBtListener()); add(jb_2); JButton jb_3 = new JButton("3"); jb_3.setBorder(new LineBorder(Color.BLUE, 1)); jb_3.setFont(new Font("宋体", Font.BOLD, 20)); jb_3.setBounds(300, 450, 150, 150); jb_3.addActionListener(new NumberBtListener()); add(jb_3); JButton jb_ride = new JButton("*"); jb_ride.setBounds(450, 450, 150, 150); jb_ride.setBorder(new LineBorder(Color.BLUE, 1)); jb_ride.setFont(new Font("宋体", Font.BOLD, 20)); jb_ride.addActionListener(new Operation()); add(jb_ride); JButton jb_0 = new JButton("0"); jb_0.setBorder(new LineBorder(Color.BLUE, 1)); jb_0.setFont(new Font("宋体", Font.BOLD, 20)); jb_0.setBounds(0, 600, 150, 150); jb_0.addActionListener(new NumberBtListener()); add(jb_0); JButton jb_equal = new JButton("="); jb_equal.setBounds(150, 600, 150, 150); jb_equal.setBorder(new LineBorder(Color.BLUE, 1)); jb_equal.setFont(new Font("宋体", Font.BOLD, 20)); jb_equal.addActionListener(new ClearOrEqual()); add(jb_equal); JButton jb_C = new JButton("C"); jb_C.setBounds(300, 600, 150, 150); jb_C.setBorder(new LineBorder(Color.BLUE, 1)); jb_C.setFont(new Font("宋体", Font.BOLD, 20)); jb_C.addActionListener(new ClearOrEqual()); add(jb_C); JButton jb_divide = new JButton("/"); jb_divide.setBounds(450, 600, 150, 150); jb_divide.setBorder(new LineBorder(Color.BLUE, 1)); jb_divide.setFont(new Font("宋体", Font.BOLD, 20)); jb_divide.addActionListener(new Operation()); add(jb_divide); } public static void main(String[] args) { new Mycalc(); } // 让主窗口最初在屏幕的中间显示 void SetCenter(Component cp) { // 得到屏幕的长度和宽度 Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); int screenheight = dim.height; int screenwidth = dim.width; int x = (screenwidth - cp.getWidth()) / 2; int y = (screenheight - cp.getHeight()) / 2; cp.setLocation(x, y); } /**对数字按钮进行事件监听 * 当未对运算符进行设置时,进行对第一个数的数值进行输入 * 运算符不为空时,对第二个数的数据进行输入 */ class NumberBtListener implements ActionListener { public void actionPerformed(ActionEvent e) { JButton jbt = (JButton) e.getSource(); String content = jbt.getText(); if (!operator.equals("")) { number1 += content; int number = Integer.valueOf(number1); jt.setText(number + " "); } else { number2 += content; int number = Integer.valueOf(number2); jt.setText(number + " "); } } } // 得出运算结果和清空显示框的监听者 class ClearOrEqual implements ActionListener { public void actionPerformed(ActionEvent e) { JButton jbt = (JButton) e.getSource(); String content = jbt.getText(); // number用来存放两个数运算的结果 double number = 0; // num1用来得到第一个数的数值 double num1 = Double.parseDouble(number1); // num2用来得到第二个数的数值 double num2 = Double.parseDouble(number2); // 得到此时运算的方法 Calculable cal = Calculate(operator); switch (content) { case "=": { if (!(operator.equals("") && number2.equals(""))) { // 运算完成 number = cal.CalculateInt(num1, num2); // 将运算完的数值再送给number1 //在多次点击‘=’时,可以进行多次运算 number1 = String.valueOf(number); jt.setText(number + " "); } } break; case "C": { jt.setText("0"); number1 = ""; number2 = ""; operator = ""; } break; } } } // 对运算符按钮进行监听的监听者 class Operation implements ActionListener { public void actionPerformed(ActionEvent e) { JButton jbt = (JButton) e.getSource(); String content = jbt.getText(); // 将按钮的运算符送给operator operator = content; // 将number2置空 number2 = ""; } } // 利用lambda表达式求运算方法 public static Calculable Calculate(String str) { Calculable result; switch (str) { case "+": { result = (x, y) -> (x + y); } break; case "-": { result = (x, y) -> (x - y); } break; case "*": { result = (x, y) -> (x * y); } break; case "/": { result = (x, y) -> (x / y); } break; } return result; } } ```

使用Java 8新增的Lambda表达式,项目报错

代码: List<PcSliderImagePO> subSliderList = sliderList.stream().filter(b -> (b.getType() == 1)) .collect(Collectors.toList()); 报错: 二月 27, 2018 3:22:23 下午 org.apache.catalina.core.StandardContext listenerStart 严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from URL location [classpath:config/springContext-service.xml] Offending resource: class path resource [springContext.xml]; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [D:\lehu\sts3.8.0\sts-bundle\workspace-b2b\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\backend-web\WEB-INF\classes\com\lehu\web\contents\PcHomeController.class]; nested exception is java.lang.ArrayIndexOutOfBoundsException: 61964 at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68) at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85) at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:76) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:245) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:196) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:181) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:140) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:111) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94) at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131) at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:530) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:444) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:388) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:293) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4853) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [D:\lehu\sts3.8.0\sts-bundle\workspace-b2b\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\backend-web\WEB-INF\classes\com\lehu\web\contents\PcHomeController.class]; nested exception is java.lang.ArrayIndexOutOfBoundsException: 61964 at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:262) at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:242) at org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse(ComponentScanBeanDefinitionParser.java:84) at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:73) at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1423) at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1413) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:184) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:140) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:111) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:239) ... 28 more Caused by: java.lang.ArrayIndexOutOfBoundsException: 61964 at org.springframework.asm.ClassReader.readClass(Unknown Source) at org.springframework.asm.ClassReader.accept(Unknown Source) at org.springframework.asm.ClassReader.accept(Unknown Source) at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:59) at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80) at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:101) at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:238) ... 43 more

EF lambda表达式,新人求解

这个EF代码还原成sql是什么呀,新人求指教 mList = mList.Where(t => rrList.Where(r => ruList.Select(u => u.RoleID).Contains(r.RoleID)).Select(r => r.ModuleID).Contains(t.ID)).OrderBy(t => t.ModuleOrder).ToList()

初学Qt5.9.2中textChanged信号,用lambda进行捕获的时候出现意外

# 代码如下会宕 ``` #ifndef MYWIDGET_H #define MYWIDGET_H #include "stdaxf.h" class myWidget : public QWidget { Q_OBJECT public: explicit myWidget(QWidget *parent = nullptr); signals: public slots: void slotcurrentIndexChanged(const QString &); }; #endif // MYWIDGET_H ``` ``` #include "myWidget.h" myWidget::myWidget(QWidget *parent) : QWidget(parent) { QBoxLayout *lay = new QVBoxLayout(this); QTextEdit *texte,*_edit; /*如果将QTextEdit *_edit;独立写到.h文件中,不和lambda表达式一起 ,则可以正常运行*/ lay->addWidget(texte = new QTextEdit); _edit = texte; /*出现奇怪问题的地方:为什么不能用texte来打印,而必须缓存一个变量才能正常使用,同时这个缓存变量的定义不能和这段lambda表达式,书写的文件是同一个?*/ connect(texte,&QTextEdit::textChanged,[&](){ qDebug()<<_edit->toPlainText(); }); } void myWidget::slotcurrentIndexChanged(const QString &str) { qDebug()<<"currentIndexChanged: "<<str; } int main(int argc,char**argv) { QApplication app(argc,argv); myWidget widget; widget.show(); return app.exec(); } ```

把if else 转化为拉姆达表达式

如何简化这段代码,用拉姆达表达式 ``` decimal? money = 0; if (grade[0].Grade_level > _Student.Stu_consume) { money = grade[0].Grade_level - _Student.Stu_consume; } else if (grade[0].Grade_level < _Student.Stu_consume && grade[1].Grade_level > _Student.Stu_consume) { money = grade[1].Grade_level - _Student.Stu_consume; } else if (grade[1].Grade_level < _Student.Stu_consume && grade[2].Grade_level > _Student.Stu_consume) { money = grade[2].Grade_level - _Student.Stu_consume; } else if (grade[2].Grade_level < _Student.Stu_consume && grade[3].Grade_level > _Student.Stu_consume) { money = grade[3].Grade_level - _Student.Stu_consume; } else if (grade[3].Grade_level < _Student.Stu_consume && grade[4].Grade_level > _Student.Stu_consume) { money = grade[4].Grade_level - _Student.Stu_consume; } else if (grade[4].Grade_level < _Student.Stu_consume) { money = -1; } ```

Java 8 lambda stream 性能问题

今日有在学习Java8的一些新特征,了解到lambda和stream之后,去importNew无意间逛到了一篇:[Java8 Lambda表达式和流操作如何让你的代码变慢5倍](http://www.importnew.com/17262.html ""),惊讶之下又去了Stack Overflow中逛了一逛,通常情况下,确是基础的代码效率更高,而stream更适合并行的安全的情况下使用,那么既然效率如此之慢,是否这不是一个好的特性?或者以后开发中就要避免使用这在性能上看似“鸡肋”的一个特性?

c# list如何实现动态分组?

目前我只会对列表的固定的多个字段进行分组,能否实现让用户选择多个字段进行分组?不要使用条件列举所有选择情况,字段数很多,组合出的数量也很大,没有操作性。 代码如下,RuleType, RuleLevel是两个分组字段,如何动态指定其他字段?使用表达式树构造lambda表达式是否可行?如何实现呢?谢谢! StatisticList = DataList.GroupBy(t => new { t.RuleType, t.RuleLevel}) .Select(g => new Sta{ Type = g.Key.RuleType, Level = g.Key.RuleLevel, ScoreTop = g.Sum(t => t.ScoreTop), }).ToList();

在lambda表达式中使用SqlClient.SqlFunctions方法报错

代码 ``` List<materials_details> materialList = je.materials_details.Where(x => checkedid.Contains(System.Data.Objects.SqlClient.SqlFunctions.StringConvert((decimal?)x.AFFAIRID).Trim())).ToList(); ``` 报错 类型“System.Data.Entity.SqlServer.SqlFunctions”上指定的方法“System.String StringConvert(System.Nullable`1[System.Double], System.Nullable`1[System.Int32])”无法转换为 LINQ to Entities 存储表达式。 尝试过的方法 换成EF6然后用System.Data.Entity.SqlServer命名空间的这个方法 EF4用System.Data.Objects.SqlClient中的这个方法 都不行 然后换成linq写法也不行

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Python可以这样学(第四季:数据分析与科学计算可视化)

Python可以这样学(第四季:数据分析与科学计算可视化)

组成原理课程设计(实现机器数的真值还原等功能)

实现机器数的真值还原(定点小数)、定点小数的单符号位补码加减运算、定点小数的补码乘法运算和浮点数的加减运算。

javaWeb图书馆管理系统源码mysql版本

系统介绍 图书馆管理系统主要的目的是实现图书馆的信息化管理。图书馆的主要业务就是新书的借阅和归还,因此系统最核心的功能便是实现图书的借阅和归还。此外,还需要提供图书的信息查询、读者图书借阅情况的查询等

土豆浏览器

土豆浏览器可以用来看各种搞笑、电影、电视剧视频

Java面试题大全(2020版)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environ...

Java8零基础入门视频教程

Java8零基础入门视频教程

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

TTP229触摸代码以及触摸返回值处理

自己总结的ttp229触摸代码,触摸代码以及触摸按键处理

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

java jdk 8 帮助文档 中文 文档 chm 谷歌翻译

JDK1.8 API 中文谷歌翻译版 java帮助文档 JDK API java 帮助文档 谷歌翻译 JDK1.8 API 中文 谷歌翻译版 java帮助文档 Java最新帮助文档 本帮助文档是使用谷

Ubuntu18.04安装教程

Ubuntu18.04.1安装一、准备工作1.下载Ubuntu18.04.1 LTS2.制作U盘启动盘3.准备 Ubuntu18.04.1 的硬盘空间二、安装Ubuntu18.04.1三、安装后的一些工作1.安装输入法2.更换软件源四、双系统如何卸载Ubuntu18.04.1新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列...

快速排序---(面试碰到过好几次)

原理:    快速排序,说白了就是给基准数据找其正确索引位置的过程.    如下图所示,假设最开始的基准数据为数组第一个元素23,则首先用一个临时变量去存储基准数据,即tmp=23;然后分别从数组的两端扫描数组,设两个指示标志:low指向起始位置,high指向末尾.    首先从后半部分开始,如果扫描到的值大于基准数据就让high减1,如果发现有元素比该基准数据的值小(如上图中18&amp;lt...

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

HTML期末大作业

这是我自己做的HTML期末大作业,花了很多时间,稍加修改就可以作为自己的作业了,而且也可以作为学习参考

Python数据挖掘简易入门

Python数据挖掘简易入门

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

C++语言基础视频教程

C++语言基础视频教程

UnityLicence

UnityLicence

软件测试2小时入门

软件测试2小时入门

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

Python数据分析师-实战系列

系列课程主要包括Python数据分析必备工具包,数据分析案例实战,核心算法实战与企业级数据分析与建模解决方案实战,建议大家按照系列课程阶段顺序进行学习。所有数据集均为企业收集的真实数据集,整体风格以实战为导向,通俗讲解Python数据分析核心技巧与实战解决方案。

YOLOv3目标检测实战系列课程

《YOLOv3目标检测实战系列课程》旨在帮助大家掌握YOLOv3目标检测的训练、原理、源码与网络模型改进方法。 本课程的YOLOv3使用原作darknet(c语言编写),在Ubuntu系统上做项目演示。 本系列课程包括三门课: (1)《YOLOv3目标检测实战:训练自己的数据集》 包括:安装darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 (2)《YOLOv3目标检测:原理与源码解析》讲解YOLOv1、YOLOv2、YOLOv3的原理、程序流程并解析各层的源码。 (3)《YOLOv3目标检测:网络模型改进方法》讲解YOLOv3的改进方法,包括改进1:不显示指定类别目标的方法 (增加功能) ;改进2:合并BN层到卷积层 (加快推理速度) ; 改进3:使用GIoU指标和损失函数 (提高检测精度) ;改进4:tiny YOLOv3 (简化网络模型)并介绍 AlexeyAB/darknet项目。

超详细MySQL安装及基本使用教程

一、下载MySQL 首先,去数据库的官网http://www.mysql.com下载MySQL。 点击进入后的首页如下:  然后点击downloads,community,选择MySQL Community Server。如下图:  滑到下面,找到Recommended Download,然后点击go to download page。如下图:  点击download进入下载页面选择No...

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

董付国老师Python全栈学习优惠套餐

购买套餐的朋友可以关注微信公众号“Python小屋”,上传付款截图,然后领取董老师任意图书1本。

爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

web网页制作期末大作业

分享思维,改变世界. web网页制作,期末大作业. 所用技术:html css javascript 分享所学所得

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Spring Boot -01- 快速入门篇(图文教程)

Spring Boot -01- 快速入门篇 今天开始不断整理 Spring Boot 2.0 版本学习笔记,大家可以在博客看到我的笔记,然后大家想看视频课程也可以到【慕课网】手机 app,去找【Spring Boot 2.0 深度实践】的课程,令人开心的是,课程完全免费! 什么是 Spring Boot? Spring Boot 是由 Pivotal 团队提供的全新框架。Spring Boot...

相关热词 c# cad插入影像 c#设计思想 c#正则表达式 转换 c#form复制 c#写web c# 柱形图 c# wcf 服务库 c#应用程序管理器 c#数组如何赋值给数组 c#序列化应用目的博客园
立即提问