import { Injectable } from '@angular/core';
import {StockComponent} from './stock.component';
import {AppComponent} from '../app.component';
import {Http, Response} from '@angular/http';
import './rxjs-operators';
@Injectable()
export class StockApiService {
symbol: string
public stocks = [
];
purchased = ["",""];
constructor(private http: Http) {
http.get('http://localhost:8000/stock/' + this.symbol)
.map(res => res.json())
//parameter //key
// .subscribe(stockInfo => this.stocks.push(stockInfo))
.subscribe(stockInfo => console.log(stockInfo))
}
getStockInfo(symbol : string) {
this.purchased.push(symbol);
let stockLink: string = 'http://localhost:8000/stock/' + symbol;
//writing logic for get stock search bar
}
//retrieves stock from array
getStock (symbol : string) {
for (var i = 0; i < this.stocks.length; i++) {
if (symbol.toLowerCase() === this.stocks[i].symbol.toLowerCase()) {
return this.stocks[i];
}
}
}
}
对于使用AAA,我必须编写public final class Templates {
public static class NewDeviceDetailsConsts {
public static final String AAA = "aaaa";
public static final String BBB = "bbbb";
public static final String CCC = "cccc";
}
}
并且这是一个长字符串,在我使用它的每个类中使用10-20次。
使用它是否有效,如,
我在我需要它的类中定义一个字段Templates.NewDeviceDetailsConsts.AAA
并在类中使用DeviceConst .___。
没关系,还是我可以做得更好。
答案 0 :(得分:2)
有几种方法可以解决这个问题。
创建静态导入:
如果您的导入语句是,请添加此import static path.to.Templates.NewDeviceDetailsConsts.AAA;
。这样,您只需输入AAA
即可引用AAA
对象。
不幸的是,您必须在所有课程的顶部添加此行。
在Templates
课程中创建一个getter。
public static NewDeviceDetailsConsts getAAA(){
return NewDeviceDetailsConsts.AAA;
}
然后使用Templates.getAAA()
获取AAA
对象。
保存对工人类内AAA
对象的引用。
private static NewDeviceDetailsConsts AAA = Templates.NewDeviceDetailsConsts.AAA;
答案 1 :(得分:1)
我会将enum
用于此目的:
public final class Templates {
public enum NewDeviceDetailsConsts {
AAA("aaaa"), BBB("bbbb"), CCC("cccc");
private String value;
private NewDeviceDetailsConsts(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
}
然后你可以按如下方式使用常量:
NewDeviceDetailsConsts aaa = NewDeviceDetailsConsts.AAA;
如果您需要,您也可以使用AAA,BBB,......而不使用参数:
public final class Templates {
public enum NewDeviceDetailsConsts {
AAAA, BBBB, CCCC;
}
}
最后,你不应该在课堂上定义它们。枚举也可以是顶级类,如下所示,除非它们必须是类的一部分:
public enum NewDeviceDetailsConsts {
AAAA, BBBB, CCCC;
}