• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java LinkedHashMap类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.intellij.util.containers.hash.LinkedHashMap的典型用法代码示例。如果您正苦于以下问题:Java LinkedHashMap类的具体用法?Java LinkedHashMap怎么用?Java LinkedHashMap使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



LinkedHashMap类属于com.intellij.util.containers.hash包,在下文中一共展示了LinkedHashMap类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: runInspectionTool

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
private static Map<ProblemDescriptor, HighlightDisplayLevel> runInspectionTool(final PsiFile file,
                                                                               final LocalInspectionTool inspectionTool,
                                                                               final HighlightDisplayLevel level) {
  Map<ProblemDescriptor, HighlightDisplayLevel> problemsMap = new LinkedHashMap<ProblemDescriptor, HighlightDisplayLevel>();
  for (ProblemDescriptor descriptor : runInspectionOnFile(file, inspectionTool)) {
    final ProblemHighlightType highlightType = descriptor.getHighlightType();

    final HighlightDisplayLevel highlightDisplayLevel;
    if (highlightType == ProblemHighlightType.WEAK_WARNING) {
      highlightDisplayLevel = HighlightDisplayLevel.WEAK_WARNING;
    }
    else if (highlightType == ProblemHighlightType.INFORMATION) {
      highlightDisplayLevel = HighlightDisplayLevel.DO_NOT_SHOW;
    }
    else {
      highlightDisplayLevel = level;
    }
    problemsMap.put(descriptor, highlightDisplayLevel);
  }
  return problemsMap;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:22,代码来源:InspectionValidatorWrapper.java


示例2: StorageLock

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
public StorageLock(boolean checkThreadAccess) {
  myDefaultStorageLockContext = new StorageLockContext(this, checkThreadAccess);

  mySizeLimit = UPPER_LIMIT;
  mySegments = new LinkedHashMap<Integer, ByteBufferWrapper>(10, 0.75f, true) {
    @Override
    protected boolean removeEldestEntry(Map.Entry<Integer, ByteBufferWrapper> eldest) {
      return mySize > mySizeLimit;
    }

    @Nullable
    @Override
    public ByteBufferWrapper remove(Object key) {
      // this method can be called after removeEldestEntry
      ByteBufferWrapper wrapper = super.remove(key);
      if (wrapper != null) {
        ++myMappingChangeCount;
        mySegmentsToRemove.offer(wrapper);
        mySize -= wrapper.myLength;
      }
      return wrapper;
    }
  };
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:25,代码来源:PagedFileStorage.java


示例3: PagePool

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
public PagePool(final int protectedPagesLimit, final int probationalPagesLimit) {
  myProbationalQueue = new LinkedHashMap<PoolPageKey,Page>(probationalPagesLimit * 2, 1, true) {
    @Override
    protected boolean removeEldestEntry(final Map.Entry<PoolPageKey, Page> eldest) {
      if (size() > probationalPagesLimit) {
        scheduleFinalization(eldest.getValue());
        return true;
      }
      return false;
    }
  };

  myProtectedQueue = new LinkedHashMap<PoolPageKey, Page>(protectedPagesLimit, 1, true) {
    @Override
    protected boolean removeEldestEntry(final Map.Entry<PoolPageKey, Page> eldest) {
      if (size() > protectedPagesLimit) {
        myProbationalQueue.put(eldest.getKey(), eldest.getValue());
        return true;
      }
      return false;
    }
  };
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:24,代码来源:PagePool.java


示例4: SLRUMap

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
public SLRUMap(final int protectedQueueSize, final int probationalQueueSize, EqualityPolicy hashingStrategy) {
  myProtectedQueueSize = protectedQueueSize * FACTOR;
  myProbationalQueueSize = probationalQueueSize * FACTOR;

  myProtectedQueue = new LinkedHashMap<K,V>(10, 0.6f, hashingStrategy) {
    @Override
    protected boolean removeEldestEntry(Map.Entry<K, V> eldest, K key, V value) {
      if (size() > myProtectedQueueSize) {
        myProbationalQueue.put(key, value);
        return true;
      }

      return false;
    }
  };

  myProbationalQueue = new LinkedHashMap<K,V>(10, 0.6f, hashingStrategy) {
    protected boolean removeEldestEntry(final Map.Entry<K, V> eldest, K key, V value) {
      if (size() > myProbationalQueueSize) {
        onDropFromCache(key, value);
        return true;
      }
      return false;
    }
  };
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:27,代码来源:SLRUMap.java


示例5: StorageLock

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
public StorageLock(boolean checkThreadAccess) {
  myDefaultStorageLockContext = new StorageLockContext(this, checkThreadAccess);

  mySizeLimit = UPPER_LIMIT;
  mySegments = new LinkedHashMap<Integer, ByteBufferWrapper>(10, 0.75f) {
    @Override
    protected boolean removeEldestEntry(Map.Entry<Integer, ByteBufferWrapper> eldest) {
      return mySize > mySizeLimit;
    }

    @Nullable
    @Override
    public ByteBufferWrapper remove(Object key) {
      // this method can be called after removeEldestEntry
      ByteBufferWrapper wrapper = super.remove(key);
      if (wrapper != null) {
        ++myMappingChangeCount;
        mySegmentsToRemove.offer(wrapper);
        mySize -= wrapper.myLength;
      }
      return wrapper;
    }
  };
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:25,代码来源:PagedFileStorage.java


示例6: PagePool

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
public PagePool(final int protectedPagesLimit, final int probationalPagesLimit) {
  myProbationalQueue = new LinkedHashMap<PoolPageKey,Page>(probationalPagesLimit * 2, 0.6f) {
    @Override
    protected boolean removeEldestEntry(final Map.Entry<PoolPageKey, Page> eldest) {
      if (size() > probationalPagesLimit) {
        scheduleFinalization(eldest.getValue());
        return true;
      }
      return false;
    }
  };

  myProtectedQueue = new LinkedHashMap<PoolPageKey, Page>(protectedPagesLimit, 0.6f) {
    @Override
    protected boolean removeEldestEntry(final Map.Entry<PoolPageKey, Page> eldest) {
      if (size() > protectedPagesLimit) {
        myProbationalQueue.put(eldest.getKey(), eldest.getValue());
        return true;
      }
      return false;
    }
  };
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:24,代码来源:PagePool.java


示例7: getConfiguredAnts

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
@NotNull
public Map<AntReference, Sdk> getConfiguredAnts()
{
	List<Sdk> sdksOfType = SdkTable.getInstance().getSdksOfType(AntSdkType.getInstance());
	Map<AntReference, Sdk> map = new LinkedHashMap<AntReference, Sdk>();
	for(Sdk sdk : sdksOfType)
	{
		if(sdk.isPredefined())
		{
			map.put(AntReference.BUNDLED_ANT, sdk);
		}
		else
		{
			map.put(new AntReference.BindedReference(sdk), sdk);
		}
	}
	return map;
}
 
开发者ID:consulo,项目名称:consulo-apache-ant,代码行数:19,代码来源:GlobalAntConfiguration.java


示例8: prefixReplaced

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
public final void prefixReplaced(Lookup lookup, String newPrefix) {
  //noinspection unchecked
  Map<LookupElement, PrefixMatcher> newMatchers = new LinkedHashMap(EqualityPolicy.IDENTITY);
  for (LookupElement item : myItems) {
    if (item.isValid()) {
      PrefixMatcher matcher = itemMatcher(item).cloneWithPrefix(newPrefix);
      if (matcher.prefixMatches(item)) {
        newMatchers.put(item, matcher);
      }
    }
  }
  myMatchers.clear();
  myMatchers.putAll(newMatchers);
  myItems.clear();
  myItems.addAll(newMatchers.keySet());

  prefixChanged(lookup);
}
 
开发者ID:consulo,项目名称:consulo,代码行数:19,代码来源:LookupArranger.java


示例9: runXmlFileSchemaValidation

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
private Map<ProblemDescriptor, HighlightDisplayLevel> runXmlFileSchemaValidation(@NotNull XmlFile xmlFile) {
  final AnnotationHolderImpl holder = new AnnotationHolderImpl(new AnnotationSession(xmlFile));

  final List<ExternalAnnotator> annotators = ExternalLanguageAnnotators.allForFile(StdLanguages.XML, xmlFile);
  for (ExternalAnnotator<?, ?> annotator : annotators) {
    processAnnotator(xmlFile, holder, annotator);
  }

  if (!holder.hasAnnotations()) return Collections.emptyMap();

  Map<ProblemDescriptor, HighlightDisplayLevel> problemsMap = new LinkedHashMap<ProblemDescriptor, HighlightDisplayLevel>();
  for (final Annotation annotation : holder) {
    final HighlightInfo info = HighlightInfo.fromAnnotation(annotation);
    if (info.getSeverity() == HighlightSeverity.INFORMATION) continue;

    final PsiElement startElement = xmlFile.findElementAt(info.startOffset);
    final PsiElement endElement = info.startOffset == info.endOffset ? startElement : xmlFile.findElementAt(info.endOffset - 1);
    if (startElement == null || endElement == null) continue;

    final ProblemDescriptor descriptor =
      myInspectionManager.createProblemDescriptor(startElement, endElement, info.getDescription(), ProblemHighlightType.GENERIC_ERROR_OR_WARNING,
                                                  false);
    final HighlightDisplayLevel level = info.getSeverity() == HighlightSeverity.ERROR? HighlightDisplayLevel.ERROR: HighlightDisplayLevel.WARNING;
    problemsMap.put(descriptor, level);
  }
  return problemsMap;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:28,代码来源:InspectionValidatorWrapper.java


示例10: getHyperlinks

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
@Deprecated
public Map<RangeHighlighter, HyperlinkInfo> getHyperlinks() {
  LinkedHashMap<RangeHighlighter, HyperlinkInfo> result = new LinkedHashMap<RangeHighlighter, HyperlinkInfo>();
  for (RangeHighlighter highlighter : getHyperlinks(0, myEditor.getDocument().getTextLength(), myEditor)) {
    HyperlinkInfo info = getHyperlinkInfo(highlighter);
    if (info != null) {
      result.put(highlighter, info);
    }
  }
  return result;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:12,代码来源:EditorHyperlinkSupport.java


示例11: createDescriptors

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
protected static Map<GroupDescriptor, Set<UsageDescriptor>> createDescriptors(String... strs) {
    Map<GroupDescriptor, Set<UsageDescriptor>> set = new LinkedHashMap<GroupDescriptor, Set<UsageDescriptor>>();
    for (String str : strs) {
        final List<String> list = StringUtil.split(str, ":");
        final GroupDescriptor g = GroupDescriptor.create(list.get(0));
        if (!set.containsKey(g)) {
            set.put(g, new LinkedHashSet<UsageDescriptor>());
        }
        set.get(g).add(createDescriptor(list.get(1), Integer.parseInt(list.get(2))));
    }

    return set;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:14,代码来源:StatisticsUploadAssistantTest.java


示例12: SLRUMap

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
public SLRUMap(final int protectedQueueSize, final int probationalQueueSize, EqualityPolicy hashingStrategy) {
  myProtectedQueueSize = protectedQueueSize * FACTOR;
  myProbationalQueueSize = probationalQueueSize * FACTOR;

  myProtectedQueue = new LinkedHashMap<K,V>(10, 0.6f, hashingStrategy, true) {
    @Override
    protected boolean removeEldestEntry(Map.Entry<K, V> eldest, K key, V value) {
      if (size() > myProtectedQueueSize) {
        myProbationalQueue.put(key, value);
        return true;
      }

      return false;
    }
  };

  myProbationalQueue = new LinkedHashMap<K,V>(10, 0.6f, hashingStrategy, true) {
    @Override
    protected boolean removeEldestEntry(final Map.Entry<K, V> eldest, K key, V value) {
      if (size() > myProbationalQueueSize) {
        onDropFromCache(key, value);
        return true;
      }
      return false;
    }
  };
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:28,代码来源:SLRUMap.java


示例13: checkMapping

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
@NotNull
private Map<PyExpression, Pair<String, ProblemHighlightType>> checkMapping(@Nullable PyExpression receiver,
                                                                           @NotNull Map<PyExpression, PyNamedParameter> mapping) {
  final Map<PyExpression, Pair<String, ProblemHighlightType>> problems = new HashMap<PyExpression, Pair<String, ProblemHighlightType>>();
  final Map<PyGenericType, PyType> substitutions = new LinkedHashMap<PyGenericType, PyType>();
  boolean genericsCollected = false;
  for (Map.Entry<PyExpression, PyNamedParameter> entry : mapping.entrySet()) {
    final PyNamedParameter param = entry.getValue();
    final PyExpression arg = entry.getKey();
    if (param.isPositionalContainer() || param.isKeywordContainer()) {
      continue;
    }
    final PyType paramType = myTypeEvalContext.getType(param);
    if (paramType == null) {
      continue;
    }
    final PyType argType = myTypeEvalContext.getType(arg);
    if (!genericsCollected) {
      substitutions.putAll(PyTypeChecker.unifyReceiver(receiver, myTypeEvalContext));
      genericsCollected = true;
    }
    final Pair<String, ProblemHighlightType> problem = checkTypes(paramType, argType, myTypeEvalContext, substitutions);
    if (problem != null) {
      problems.put(arg, problem);

    }
  }
  return problems;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:30,代码来源:PyTypeCheckerInspection.java


示例14: prepareMultiRepoTooltip

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
private void prepareMultiRepoTooltip(StringBand infoPart, Collection<GitRepository> repositories) {
  PerRepoInfoCache cache = PerRepoInfoCache.getInstance(project);
  Map<GitRepository, String> statuses = new LinkedHashMap<>();
  final AtomicReference<GitRepository> currentRepo = new AtomicReference<>();
  for (GitRepository repository : GtUtil.sort(repositories)) {
    cache.getInfo(repository).count().map(StatusText::format).ifPresent(statusText -> {
      if (repository.equals(currentRepository)) {
        currentRepo.set(repository);
      }
      statuses.put(repository, statusText);
    });
  }
  if (!statuses.isEmpty()) {
    if (infoPart.length() > 0) {
      infoPart.append(Html.HR);
    }
    infoPart.append(
        statuses.entrySet().stream().map(e -> {
          String repoStatus = GitUIUtil.bold(GtUtil.name(e.getKey())) + ": " + e.getValue();
          if (Objects.equals(e.getKey(), currentRepo.get())) {
            repoStatus = Html.underline(repoStatus);
          }
          return repoStatus;
        }).collect(Collectors.joining(Html.BR))
    );
  }
}
 
开发者ID:zielu,项目名称:GitToolBox,代码行数:28,代码来源:StatusToolTip.java


示例15: runInspectionTool

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
private static Map<ProblemDescriptor, HighlightDisplayLevel> runInspectionTool(final PsiFile file,
                                                                               final LocalInspectionTool inspectionTool,
                                                                               final HighlightDisplayLevel level) {
  Map<ProblemDescriptor, HighlightDisplayLevel> problemsMap = new LinkedHashMap<ProblemDescriptor, HighlightDisplayLevel>();
  for (ProblemDescriptor descriptor : InspectionRunningUtil.runInspectionOnFile(file, inspectionTool)) {
    problemsMap.put(descriptor, level);
  }
  return problemsMap;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:10,代码来源:InspectionValidatorWrapper.java


示例16: runXmlFileSchemaValidation

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
private Map<ProblemDescriptor, HighlightDisplayLevel> runXmlFileSchemaValidation(@NotNull XmlFile xmlFile) {
  final AnnotationHolderImpl holder = new AnnotationHolderImpl(new AnnotationSession(xmlFile));

  final List<ExternalAnnotator> annotators = ExternalLanguageAnnotators.allForFile(StdLanguages.XML, xmlFile);
  for (ExternalAnnotator annotator : annotators) {
    annotator.annotate(xmlFile, holder);
  }

  if (!holder.hasAnnotations()) return Collections.emptyMap();

  Map<ProblemDescriptor, HighlightDisplayLevel> problemsMap = new LinkedHashMap<ProblemDescriptor, HighlightDisplayLevel>();
  for (final Annotation annotation : holder) {
    final HighlightInfo info = HighlightInfo.fromAnnotation(annotation);
    if (info.getSeverity() == HighlightSeverity.INFORMATION) continue;

    final PsiElement startElement = xmlFile.findElementAt(info.startOffset);
    final PsiElement endElement = info.startOffset == info.endOffset ? startElement : xmlFile.findElementAt(info.endOffset - 1);
    if (startElement == null || endElement == null) continue;

    final ProblemDescriptor descriptor =
      myInspectionManager.createProblemDescriptor(startElement, endElement, info.getDescription(), ProblemHighlightType.GENERIC_ERROR_OR_WARNING,
                                                  false);
    final HighlightDisplayLevel level = info.getSeverity() == HighlightSeverity.ERROR? HighlightDisplayLevel.ERROR: HighlightDisplayLevel.WARNING;
    problemsMap.put(descriptor, level);
  }
  return problemsMap;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:28,代码来源:InspectionValidatorWrapper.java


示例17: getHyperlinks

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
@Deprecated
public Map<RangeHighlighter, HyperlinkInfo> getHyperlinks() {
  LinkedHashMap<RangeHighlighter, HyperlinkInfo> result = new LinkedHashMap<>();
  for (RangeHighlighter highlighter : getHyperlinks(0, myEditor.getDocument().getTextLength(), myEditor)) {
    HyperlinkInfo info = getHyperlinkInfo(highlighter);
    if (info != null) {
      result.put(highlighter, info);
    }
  }
  return result;
}
 
开发者ID:consulo,项目名称:consulo,代码行数:12,代码来源:EditorHyperlinkSupport.java


示例18: addToHistory

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
public static void addToHistory(@Nonnull Project project, @Nonnull AttachItem item) {
  LinkedHashMap<String, HistoryItem> history = project.getUserData(HISTORY_KEY);
  if (history == null) {
    project.putUserData(HISTORY_KEY, history = new LinkedHashMap<>());
  }
  ProcessInfo processInfo = item.getProcessInfo();
  history.remove(processInfo.getCommandLine());
  history.put(processInfo.getCommandLine(), new HistoryItem(processInfo, item.getGroup(),
                                                            item.getSelectedDebugger().getDebuggerDisplayName()));
  while (history.size() > 4) {
    history.remove(history.keySet().iterator().next());
  }
}
 
开发者ID:consulo,项目名称:consulo,代码行数:14,代码来源:AttachToLocalProcessAction.java


示例19: DimensionService

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
/**
 * Invoked by reflection
 */
private DimensionService() {
  myKey2Location = new LinkedHashMap<String, Point>();
  myKey2Size = new LinkedHashMap<String, Dimension>();
  myKey2ExtendedState = new TObjectIntHashMap<String>();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:9,代码来源:DimensionService.java


示例20: formatForLog

import com.intellij.util.containers.hash.LinkedHashMap; //导入依赖的package包/类
public static LogEntry formatForLog(@NotNull final Notification notification, String indent) {
  DocumentImpl logDoc = new DocumentImpl("",true);
  AtomicBoolean showMore = new AtomicBoolean(false);
  Map<RangeMarker, HyperlinkInfo> links = new LinkedHashMap<RangeMarker, HyperlinkInfo>();
  List<RangeMarker> lineSeparators = new ArrayList<RangeMarker>();

  String title = truncateLongString(showMore, notification.getTitle());
  String content = truncateLongString(showMore, notification.getContent());

  RangeMarker afterTitle = null;
  boolean hasHtml = parseHtmlContent(title, notification, logDoc, showMore, links, lineSeparators);
  if (StringUtil.isNotEmpty(title)) {
    if (StringUtil.isNotEmpty(content)) {
      appendText(logDoc, ": ");
      afterTitle = logDoc.createRangeMarker(logDoc.getTextLength() - 2, logDoc.getTextLength());
    }
  }
  hasHtml |= parseHtmlContent(content, notification, logDoc, showMore, links, lineSeparators);

  String status = getStatusText(logDoc, showMore, lineSeparators, hasHtml);

  indentNewLines(logDoc, lineSeparators, afterTitle, hasHtml, indent);

  ArrayList<Pair<TextRange, HyperlinkInfo>> list = new ArrayList<Pair<TextRange, HyperlinkInfo>>();
  for (RangeMarker marker : links.keySet()) {
    if (!marker.isValid()) {
      showMore.set(true);
      continue;
    }
    list.add(Pair.create(new TextRange(marker.getStartOffset(), marker.getEndOffset()), links.get(marker)));
  }

  if (showMore.get()) {
    String sb = "show balloon";
    if (!logDoc.getText().endsWith(" ")) {
      appendText(logDoc, " ");
    }
    appendText(logDoc, "(" + sb + ")");
    list.add(new Pair<TextRange, HyperlinkInfo>(TextRange.from(logDoc.getTextLength() - 1 - sb.length(), sb.length()),
                                                new ShowBalloon(notification)));
  }

  return new LogEntry(logDoc.getText(), status, list);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:45,代码来源:EventLog.java



注:本文中的com.intellij.util.containers.hash.LinkedHashMap类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Int32Array类代码示例发布时间:2022-05-22
下一篇:
Java IDResolver类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap